:root{font-family:Arial,'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:#20252b;background:#f4f5f7;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}button{border:0;background:none}input,select,textarea{color:#20252b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #94b6ff;outline-offset:3px}.header{background:#fff;border-bottom:1px solid #dce0e6}.header-inner{max-width:1440px;min-height:84px;margin:auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.title{font-size:23px;font-weight:700;display:flex;align-items:center;gap:12px;letter-spacing:-.6px}.title svg{color:#315bc6}.header-actions{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #cbd1d9;border-radius:7px;background:#fff;padding:12px 17px;min-height:46px;font-size:15px;line-height:1.25;font-weight:600;white-space:nowrap;transition:background .12s,border-color .12s}.button:hover:not(:disabled){background:#f0f3f8;border-color:#9ba8bb}.button.primary{color:#fff;background:#315bc6;border-color:#315bc6}.button.primary:hover:not(:disabled){background:#254ba9;border-color:#254ba9}.button.quiet{border-color:transparent;background:transparent;color:#59636f}.button.icon{padding:11px;min-width:46px}.button.danger{color:#b53636;border-color:#dec1c1;margin-right:auto}.button>span{font-size:13px;padding:2px 6px;background:#e8ecf3;border-radius:4px;color:#4f5d72}.button.primary>span{background:#ffffff29;color:#fff}.main{max-width:1440px;margin:auto;padding:24px 32px 0}.storage-box{background:#fff;border:1px solid #dce0e6;border-radius:9px;padding:19px 22px 0}.storage-summary{display:flex;gap:13px;align-items:center}.storage-summary>svg{color:#5c6779;flex-shrink:0}.storage-summary>div{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.storage-summary strong{font-size:16px}.storage-summary span{font-size:14px;color:#5b6571}.storage-summary span b{color:#263448;font-weight:600}.storage-summary .storage-count{margin-left:auto;white-space:nowrap}.meter{margin:15px 0 13px;background:#e9edf2;border-radius:4px;height:7px;overflow:hidden}.meter>span{display:block;background:#456acc;height:100%;min-width:2px;border-radius:4px}.storage-details summary{display:flex;align-items:center;gap:7px;color:#596575;font-size:13px;cursor:pointer;list-style:none;padding:0 0 15px;width:max-content}.storage-details summary::-webkit-details-marker{display:none}.storage-details[open] summary svg{transform:rotate(180deg)}.storage-details>div{padding:0 0 12px;border-top:1px solid #e3e6ec}.storage-details p{font-size:14px;line-height:1.8;color:#525e6f;margin:10px 0 0}.people{display:flex;gap:5px;margin:22px 0 0;border-bottom:1px solid #d2d8e2;overflow-x:auto}.people button{display:flex;align-items:center;gap:10px;padding:15px 20px 16px;font-size:16px;color:#647083;white-space:nowrap;border-bottom:3px solid transparent;font-weight:500}.people button.active{color:#264fb5;border-color:#315bc6;font-weight:700}.people button:hover{background:#ebeff7}.people span{font-size:13px;color:#637087;background:#e4e8ee;padding:3px 7px;border-radius:4px;min-width:24px;text-align:center}.people .active span{background:#dfe8ff;color:#315bc6}.library{margin-top:25px}.library-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.library-top h1{font-size:24px;letter-spacing:-.65px;margin:0;font-weight:700}.library-top h1>span{font-size:17px;font-weight:500;color:#687486;margin-left:7px}.library-top p{font-size:14px;line-height:1.6;color:#647083;margin:8px 0 0}.downloads{display:flex;align-items:center;gap:9px}.filterbar{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #dce0e6;border-radius:8px}.search{display:flex;align-items:center;gap:10px;flex:1;min-width:150px;border:1px solid #cbd1d9;border-radius:6px;padding:0 12px;background:#fff;color:#758194}.search input{width:100%;height:44px;border:0;outline:none;background:none;font-size:15px}.search input::placeholder{color:#7b8695}.search button{display:grid;place-items:center;padding:6px;color:#5e6979}.filter{display:flex;align-items:center;gap:9px}.filter>span{font-size:14px;color:#5c6675;white-space:nowrap}.filter select{height:46px;border:1px solid #cbd1d9;border-radius:6px;padding:0 30px 0 12px;background:#fff;font-size:14px;min-width:120px}.selection-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:12px 2px}.selection-row label{display:flex;align-items:center;gap:10px;font-size:14px;color:#465265;cursor:pointer}.selection-row>div{display:flex;align-items:center;gap:15px;font-size:13px}.selection-row strong{color:#315bc6;font-weight:600}.selection-row button{color:#596577;text-decoration:underline;text-underline-offset:3px}.selection-row>div>span{color:#7a8492}input[type=checkbox]{appearance:auto;accent-color:#315bc6;width:21px;height:21px;margin:0;flex-shrink:0;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.photo{border:1px solid #d4dae3;background:#fff;border-radius:8px;overflow:hidden}.photo.selected{border-color:#315bc6;box-shadow:0 0 0 1px #315bc6}.photo-check{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;border-bottom:1px solid #e4e7ed;min-height:48px}.photo-check label{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:14px}.photo-check label>span{font-weight:600}.kind-label{font-size:12px;color:#5c6b7e;background:#f0f3f7;padding:4px 7px;border-radius:4px;white-space:nowrap}.picture{display:block;padding:0;width:100%;height:190px;background:#e8ebef;text-align:center;overflow:hidden}.picture img{width:100%;height:100%;object-fit:cover;display:block}.picture:hover img{filter:brightness(.97)}.photo-info{padding:15px 14px 13px}.filename{font-size:15px;font-weight:600;letter-spacing:-.25px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;text-align:left;padding:0;line-height:1.6}.photo-info>div{display:flex;align-items:center;gap:12px;color:#687486;font-size:13px;margin-top:9px;min-height:29px}.photo-info a{margin-left:auto;padding:5px;display:grid;place-items:center;color:#4164b7}.photo-info a:hover{background:#edf1fb;border-radius:4px}.more{text-align:center;margin:25px 0}.empty{min-height:270px;padding:40px 20px;border:1px dashed #c9d1de;border-radius:9px;background:#fff;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;color:#738096}.empty h2{font-size:18px;color:#485568;margin:4px 0 8px;font-weight:500}.empty p{margin:5px 0;font-size:15px}.work-status{background:#eaf0ff;color:#3556a8;border:1px solid #ccd8f4;border-radius:6px;padding:13px 16px;display:flex;align-items:center;gap:10px;font-size:14px;margin:0 0 16px}.error{background:#fff1ef;border:1px solid #edcfca;color:#a23b30;border-radius:6px;padding:13px 15px;font-size:14px;line-height:1.7;margin:13px 0}.error>button{margin-left:12px;color:#893227;text-decoration:underline;font-weight:600}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #dce0e6;color:#737e8c;font-size:13px;padding:23px 0;margin-top:42px}footer button{font-size:13px;color:#59687d;text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);padding:15px 21px;border-radius:8px;background:#26364e;color:#fff;font-size:14px;line-height:1.7;box-shadow:0 5px 25px #25324625;z-index:60;max-width:calc(100vw - 32px);width:max-content}.backdrop{position:fixed;inset:0;z-index:40;background:#17223180;display:flex;align-items:center;justify-content:center;padding:24px}.dialog{width:580px;max-width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;background:#fff;border-radius:12px;padding:26px;box-shadow:0 16px 65px #17223135}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-header h2{font-size:23px;font-weight:700;letter-spacing:-.6px;margin:0}.dialog-header .button{background:transparent;border-color:transparent;padding:8px;min-height:38px;min-width:38px;color:#687486}.dialog fieldset{border:0;margin:0;padding:0;min-width:0}.dropzone{background:#f6f8fc;border:1px dashed #b1bed5;border-radius:8px;display:flex;align-items:center;text-align:center;flex-direction:column;gap:13px;padding:24px 15px;color:#667a9e;position:relative}.dropzone strong{font-size:16px;color:#435673;font-weight:500}.dropzone .button{padding:10px 17px;font-size:14px;min-height:42px}.dropzone>span{font-size:12px;color:#78859a;line-height:1.6}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.filebox{border:1px solid #d6dde8;border-radius:7px;margin:16px 0 0;overflow:hidden}.filebox>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:#f4f6fa;font-size:13px}.filebox>div strong{font-weight:600;color:#4e5e77}.filebox>div button{color:#7b5960;font-size:12px;text-decoration:underline}.filebox ul{margin:0;padding:0 12px;list-style:none;max-height:150px;overflow-y:auto}.filebox li{display:flex;align-items:center;gap:9px;font-size:13px;padding:10px 0;border-bottom:1px solid #edf0f5}.filebox li:last-child{border:0}.filebox li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#4d5b71}.filebox small{font-size:11px;white-space:nowrap;color:#8892a2}.filebox li>button{padding:3px;display:grid;place-items:center;color:#7a8492}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-dialog .fields{margin-top:23px}.dialog label:not(.dropzone){font-size:15px;font-weight:600;color:#3c495e;display:block;line-height:1.5}.dialog select,.dialog input:not([type=file]),.dialog textarea{display:block;width:100%;margin-top:8px;padding:12px 13px;background:#fff;border:1px solid #cbd2df;border-radius:6px;font-size:15px;font-weight:400;min-height:46px}.dialog input::placeholder,.dialog textarea::placeholder{color:#8b95a4}.extra{border-top:1px solid #dce0e7;border-bottom:1px solid #dce0e7;margin-top:25px}.extra summary{padding:17px 1px;display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;font-size:15px;color:#4f607b;font-weight:600}.extra summary::-webkit-details-marker{display:none}.extra summary>span{font-weight:400;font-size:12px;color:#8993a2}.extra summary>svg{margin-left:auto}.extra[open] summary>svg{transform:rotate(180deg)}.extra-body{padding-bottom:22px}.extra-body>.fields{margin:0}.extra-body>label{margin-top:16px}.help{font-size:12px;line-height:1.8;color:#7b8798;margin:11px 0 0}.upload-note{font-size:13px;line-height:1.8;color:#7a8493;margin:17px 0 0}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:23px;padding-top:20px;border-top:1px solid #dfe3ea}.dialog-actions .button{min-height:46px}.upload-progress{margin-top:19px}.upload-progress strong{font-size:14px;color:#4667b8;font-weight:500}.upload-progress progress{width:100%;height:9px;margin-top:12px;display:block;accent-color:#315bc6}.detail-dialog{width:760px}.detail-picture{width:100%;max-height:400px;object-fit:contain;border-radius:6px;background:#eef1f5}.detail-name{font-size:17px;font-weight:600;overflow-wrap:anywhere;margin:20px 0 23px;line-height:1.65}.detail-dialog dl{margin:0}.detail-dialog dl>div{display:grid;grid-template-columns:95px 1fr;gap:20px;font-size:14px;line-height:1.8;margin-bottom:12px}.detail-dialog dt{color:#7b8798}.detail-dialog dd{color:#3e4d63;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.volume-help{font-size:15px;line-height:1.9;color:#637087}.volume-list{display:flex;flex-direction:column;gap:10px;margin:23px 0 10px}.volume-list button{justify-content:flex-start;gap:10px}.volume-list button>span{margin-left:auto;background:none;color:#72809a;font-size:13px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.main,.header-inner{padding-left:40px;padding-right:40px}.grid{gap:22px}.picture{height:205px}}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-top{align-items:flex-start;flex-direction:column;gap:17px}.downloads{width:100%;justify-content:flex-end}.filterbar{gap:10px}.filter>span{display:none}.picture{height:180px}}
@media(max-width:800px){.header-inner{padding:18px 22px;min-height:79px}.title{font-size:21px}.main{padding:20px 22px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-summary>div{gap:6px;flex-direction:column;align-items:flex-start}.storage-summary .storage-count{font-size:13px}.people button{font-size:15px;padding:14px 15px;gap:7px}.picture{height:205px}.filterbar{flex-wrap:wrap}.search{flex-basis:100%}.filter{flex:1}.filter select{width:100%}.filterbar>.button{min-width:46px}.library-top p{font-size:14px}.downloads{justify-content:flex-start}.header-actions .quiet{display:none}.library-top{gap:15px}.storage-summary span{font-size:13px}.storage-details p{font-size:13px}}
@media(max-width:520px){.header-inner{padding:15px 16px;gap:12px;min-height:73px}.title{font-size:19px;gap:8px}.title svg{width:21px}.header-actions .primary{padding:11px 12px;font-size:14px;gap:6px;min-height:43px}.main{padding:17px 15px 0}.storage-box{padding:16px 16px 0}.storage-summary{gap:10px}.storage-summary>svg{width:19px}.storage-summary strong{font-size:14px}.storage-summary span{font-size:12px;line-height:1.8}.storage-summary .storage-count{display:none}.storage-details summary{font-size:12px}.people{margin-top:17px;gap:0}.people button{padding:13px 12px;font-size:14px;gap:5px}.people span{font-size:11px;min-width:18px;padding:2px 5px}.library{margin-top:22px}.library-top h1{font-size:22px}.library-top h1>span{font-size:15px}.library-top p{font-size:13px;line-height:1.8;margin-top:6px;max-width:300px}.downloads{gap:8px}.downloads .button{font-size:13px;min-height:44px;padding:11px 10px;gap:6px;flex:1}.downloads .button svg{width:16px}.downloads .button>span{font-size:11px;padding:2px 5px}.filterbar{padding:12px;gap:9px}.search{padding:0 10px;gap:8px}.search input{font-size:14px;height:42px}.filter select{font-size:13px;padding-left:10px;min-width:85px;height:42px}.filterbar>.button{min-height:42px;min-width:42px;padding:10px}.selection-row{min-height:62px;gap:10px}.selection-row label{font-size:12px;gap:7px}.selection-row input{width:20px;height:20px}.selection-row>div{gap:8px;font-size:12px}.selection-row>div>span{display:none}.selection-row button{font-size:12px}.grid{gap:12px}.photo-check{padding:10px 9px;gap:4px}.photo-check label{gap:6px;font-size:12px}.photo-check input{width:20px;height:20px}.kind-label{font-size:10px;padding:4px 5px}.picture{height:145px}.photo-info{padding:12px 10px}.filename{font-size:13px}.photo-info>div{font-size:11px;gap:8px;margin-top:6px}.photo-info a{padding:4px}.photo-info a svg{width:16px}.backdrop{padding:12px}.dialog{padding:21px;max-height:calc(100dvh - 24px);border-radius:10px}.dialog-header{margin-bottom:21px}.dialog-header h2{font-size:21px}.dialog label:not(.dropzone){font-size:14px}.dialog select,.dialog input:not([type=file]),.dialog textarea{font-size:16px;padding:11px;min-height:46px}.fields{gap:12px}.dropzone{padding:22px 12px}.dropzone strong{font-size:15px}.dropzone>span{font-size:11px}.extra summary{font-size:14px}.dialog-actions .button{font-size:14px;padding:12px 15px}.detail-dialog dl>div{grid-template-columns:75px 1fr;gap:12px;font-size:13px}.volume-list button{font-size:14px;padding:12px 10px}.volume-list button>span{font-size:11px}.toast{font-size:13px;padding:13px 17px;bottom:17px}footer{font-size:11px;margin-top:30px;gap:10px}footer button{font-size:11px}.empty{min-height:240px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
