:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#233c3b;background:#fafbf8;font-synthesis:none;font-size:14px;--teal:#285e52;--muted:#7a8884;--border:#e5eae4;--cream:#f6f7f2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;color:inherit;min-height:38px;padding:8px 13px;cursor:pointer;text-decoration:none;transition:background .16s,box-shadow .16s}button:hover,.button:hover{background:#f0f4ee}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #adc8b4;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}input,select{color:inherit;border:1px solid #dce3dd;border-radius:7px;background:#fff;min-height:41px;padding:10px 12px;min-width:0}input::placeholder{color:#97a19a}select{cursor:pointer}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.primary:hover{background:#1f4e43}.icon-button{padding:8px;min-width:34px;min-height:34px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#73847b;text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:730;letter-spacing:-1px;color:#24483f}.brand-icon{height:37px;width:37px;display:grid;place-items:center;background:#285d51;border-radius:10px;color:#fff}.brand-period,.heading-dot{color:#92aa62}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#799078}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;flex-shrink:0;padding:35px 23px 20px;background:#f2f5ee;border-right:1px solid #e4e9df;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.space-label{font-size:9px;letter-spacing:1.6px;color:#8b988b;margin:54px 12px 16px;font-weight:650}nav{display:flex;flex-direction:column;gap:6px}nav button{justify-content:flex-start;border:0;background:transparent;padding:12px 13px;font-weight:500;font-size:13px;color:#7d8c80;gap:12px}nav button svg:last-child:not(:first-child){margin-left:auto}nav button.nav-active{background:#e2ebdb;color:#355e43;font-weight:650}.sidebar-bottom{margin-top:auto;padding-top:40px}.storage-card{padding:18px 16px;border:1px solid #dfe6d7;border-radius:10px;background:#edf1e7;color:#506950}.storage-card>svg{margin-bottom:12px}.storage-card strong{display:block;font-size:12px;font-weight:650}.storage-card p{font-size:11px;line-height:1.7;margin-top:4px;color:#8c9886}.storage-card span{display:flex;align-items:center;gap:6px;border-top:1px solid #dce3d2;padding-top:15px;margin-top:18px;font-size:10px}.profile{border:0;border-top:1px solid #dfe5d9;background:transparent;margin-top:22px;border-radius:0;width:100%;padding:21px 0 0;gap:10px;text-align:left}.profile>svg{margin-left:auto;color:#80917c}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e0e7d6;font-size:12px;color:#54674b}.profile strong,.profile small{display:block;font-size:11px}.profile small{font-size:10px;color:#8d9786;margin-top:3px}main{margin-left:244px;width:calc(100% - 244px)}.topbar{height:76px;border-bottom:1px solid var(--border);padding:0 44px;display:flex;align-items:center;justify-content:space-between}.topbar-label{font-size:12px;color:#8b978f}.connection{font-size:10px;display:flex;align-items:center;gap:7px;color:#748978}.status-dot{width:6px;height:6px;background:#7ca271;border-radius:50%;display:inline-block}.status-dot.offline{background:#c98751}.main-content{max-width:1700px;margin:0 auto;padding:45px 44px 20px}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.page-header h1{font-size:39px;letter-spacing:-1.4px;font-weight:570;margin:9px 0 10px;overflow-wrap:anywhere;line-height:1.2}.page-header p{font-size:12px;color:#8a9690;line-height:1.7}.header-actions{display:flex;align-items:center;gap:9px}.header-actions .button,.header-actions button{font-size:11px;white-space:nowrap;padding:10px 13px}.summary-strip{padding:19px 21px;background:#f1f4ed;border:1px solid #e6eade;border-radius:10px;display:flex;align-items:center;gap:29px;margin-bottom:30px}.summary-strip>div{display:flex;align-items:center;gap:10px;font-size:11px;color:#8a9587}.summary-strip strong{color:#40583e;font-weight:600}.summary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px}.summary-icon.folder{background:#e4ead6;color:#8ba254}.summary-icon.video{background:#e0e8e4;color:#6b8c7d}.summary-icon.other{background:#e9e9df;color:#a19970}.summary-hint{font-size:10px;margin-left:auto;color:#929d89;display:flex;gap:15px;align-items:center}.library{border:1px solid var(--border);border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 3px 10px #244b3603}.library-toolbar{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef0eb}.breadcrumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0;color:#91a08d}.breadcrumbs button{min-height:27px;border:0;background:transparent;padding:3px 1px;font-size:12px;color:#71816e;overflow-wrap:anywhere;text-align:left}.breadcrumbs button:first-child{gap:9px;color:#4c684e}.filter-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;gap:15px}.tabs{display:flex;gap:7px}.tabs button{border:0;background:transparent;font-size:11px;min-height:32px;padding:7px 11px;color:#919a8b;white-space:nowrap}.tabs button.active{background:#edf2e6;color:#597242;font-weight:600}.tabs span{display:inline-block;padding:1px 5px;border-radius:4px;background:#e0e8d4;font-size:9px}.filter-controls{display:flex;align-items:center;gap:13px}.search{display:flex;flex-direction:row;align-items:center;gap:7px;color:#9ca697;font-size:11px}.search input{border:0;padding:3px;background:transparent;min-height:30px;width:155px;font-size:11px}.sort-control{display:flex;flex-direction:row;align-items:center;gap:3px;color:#93a08c}.sort-control select{font-size:10px;min-height:28px;padding:3px;border:0;background:transparent;color:#7a8a72}.view-toggle{display:flex;border:1px solid #e6eade;border-radius:6px;padding:2px;gap:2px}.view-toggle button{padding:5px;min-height:26px;border:0;border-radius:4px;color:#a1ac98;background:transparent}.view-toggle button.selected{background:#edf1e7;color:#6b805b}.table-head,.file-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 95px 80px;align-items:center;gap:15px;padding:0 21px}.table-head{height:36px;background:#fafbf7;border-top:1px solid #f1f3ed;border-bottom:1px solid #eef1e9;color:#97a08d;font-size:10px}.file-row{min-height:76px;border-bottom:1px solid #f0f2ed;transition:background .15s}.file-row:hover{background:#fafcf7}.file-name{border:0;background:transparent!important;justify-content:flex-start;padding:13px 0;gap:13px;text-align:left;min-width:0;box-shadow:none}.file-name>span:nth-child(2){min-width:0}.file-name strong{display:block;font-size:12px;font-weight:550;color:#425941;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-name small{display:block;font-size:9px;color:#a0aa94;margin-top:5px}.file-icon{width:41px;height:41px;border:1px solid #e9edde;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:#f1f4e9;color:#9dab76}.file-icon.video{background:#eef3ed;color:#83a088;border-color:#e5ece2}.file-icon.other{background:#f5f4ee;color:#b0a583;border-color:#ecebdf}.file-icon.small{width:37px;height:37px}.folder-chevron{margin-left:auto;color:#c1c9b7}.file-date,.file-size{font-size:10px;color:#91a08a}.file-size{font-variant-numeric:tabular-nums}.file-actions{display:flex;gap:4px;justify-content:flex-end}.file-actions .icon-button{color:#96a28d}.library-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;color:#a0aa95;font-size:10px;background:#fdfefa;gap:12px}.library-footer>span:last-child{display:flex;align-items:center;gap:7px}.page-footer{display:flex;justify-content:space-between;color:#a4ae9b;font-size:10px;padding:24px 2px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:15px;padding:15px 20px 22px}.file-grid .file-row{display:flex;flex-wrap:wrap;gap:7px;border:1px solid #e9eedf;border-radius:9px;padding:13px;position:relative}.file-grid .file-name{width:100%;display:block;padding:0}.file-grid .file-icon{width:100%;height:98px;margin-bottom:15px}.file-grid .file-name strong{font-size:11px}.file-grid .folder-chevron,.file-grid .file-date{display:none}.file-grid .file-size{margin-right:auto}.file-grid .file-actions{margin-left:auto}.empty-state{padding:70px 25px;text-align:center;color:#9aaa94;display:flex;align-items:center;flex-direction:column;gap:14px}.empty-state h3{font-weight:550;font-size:16px;color:#61785c}.empty-state p{font-size:12px}.error{background:#fff2eb;border:1px solid #f1d6c7;color:#9d5439;padding:12px 15px;border-radius:7px;font-size:12px;line-height:1.6}.error button{margin-left:10px;padding:4px 8px;font-size:11px;min-height:24px}.library>.error{margin:15px 20px}.share-row{display:flex;align-items:center;gap:14px;padding:20px;border-bottom:1px solid var(--border)}.share-description{min-width:0;flex:1}.share-description strong{display:block;font-size:12px;overflow-wrap:anywhere}.share-description small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.share-row button{font-size:11px}.danger-text{color:#aa755f;border:0;background:transparent}.center-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;text-align:center;padding:25px}.center-page p{color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#102c2acd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;display:flex;align-items:center;justify-content:center;padding:30px;overflow:auto}.share-dialog{background:#fcfdf9;border:1px solid #dfe8d7;border-radius:17px;padding:34px;width:450px;max-width:100%;position:relative;box-shadow:0 30px 100px #071e2640}.dialog-close{position:absolute;right:17px;top:15px}.dialog-icon{width:45px;height:45px;background:#e8efdf;color:#6d8552;border-radius:11px;display:grid;place-items:center;margin-bottom:20px}.share-dialog h2{font-size:23px;font-weight:550;letter-spacing:-.6px;margin-bottom:9px}.share-dialog p{font-size:12px;line-height:1.7;color:#849078;margin-bottom:18px}.share-dialog p.share-name{font-weight:600;color:#52704b;overflow-wrap:anywhere}.share-dialog label{margin:19px 0;position:relative;color:#6b805e}.share-dialog .primary{width:100%;margin-top:8px}.optional{position:absolute;right:0;top:1px;font-size:10px;color:#a0ac96;font-weight:400}.notice{padding:12px 14px;border:1px solid #e3e9d9;background:#f1f5e9;border-radius:8px;font-size:11px;line-height:1.7;color:#7b8d66}.success{display:flex;gap:8px;align-items:center;margin-top:25px;color:#4c8550;font-size:12px}.share-dialog .helper{font-size:10px;margin:15px 0 0;text-align:center}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#254e40;color:#fff;padding:13px 20px;box-shadow:0 8px 20px #1c362d20;display:flex;align-items:center;gap:10px;border-radius:8px;z-index:40;font-size:12px}.player-modal{width:1050px;max-width:100%;border-radius:14px;overflow:hidden;background:#fbfcf7;box-shadow:0 30px 100px #031b2350}.player-title{display:flex;align-items:center;gap:13px;padding:17px 22px}.player-title>div:nth-child(2){min-width:0}.player-title h2{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-title p{font-size:10px;color:var(--muted);margin-top:5px}.player-title>button{margin-left:auto}.video-stage{background:#081817;position:relative;aspect-ratio:16/9;max-height:66vh}.video-stage video{width:100%;height:100%;object-fit:contain;display:block}.video-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#0b201dbf;color:#e3ebdd;text-align:center;padding:30px;pointer-events:none}.video-message button{pointer-events:auto}.video-message p{font-size:14px}.video-message span{font-size:11px;color:#9caf9e;max-width:430px;line-height:1.8}.player-controls{padding:13px 20px 8px}.player-controls input[type=range]{padding:0;width:100%;min-height:10px;height:10px;accent-color:#618d61;cursor:pointer}.control-row{display:flex;align-items:center;gap:6px;padding-top:7px}.time{font-size:11px;color:#87967d;margin-left:6px;font-variant-numeric:tabular-nums}.control-row select{margin-left:auto;min-height:30px;font-size:11px;padding:4px 7px;background:#f1f5e9;border:0}.player-note{padding:11px 23px 16px;display:flex;gap:7px;align-items:center;color:#94a187;font-size:10px}.player-modal:fullscreen{display:flex;flex-direction:column;justify-content:center;background:#081817;border-radius:0}.player-modal:fullscreen .video-stage{flex:1;max-height:none}.player-modal:fullscreen .player-title,.player-modal:fullscreen .player-controls,.player-modal:fullscreen .player-note{background:#f9fcf6}.login-page{min-height:100vh;display:flex;flex-direction:column;background:#f8faf4;padding:34px 5vw}.login-brand{max-width:1300px;width:100%;margin:0 auto}.login-shell{display:grid;grid-template-columns:1.05fr 1fr;max-width:1030px;width:100%;margin:auto;border:1px solid #e1e8db;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 25px 70px #33543d08}.login-art{background:#eaf0e1;padding:55px 45px;position:relative;overflow:hidden;min-height:530px}.login-art .eyebrow{color:#7f9566}.login-art h1{font-family:Georgia,serif;font-size:52px;line-height:1.08;letter-spacing:-1.9px;font-weight:400;color:#395e42;margin:24px 0 20px;position:relative;z-index:1}.login-art>p{font-size:12px;line-height:1.9;color:#849477;position:relative;z-index:1}.art-card{position:absolute;display:flex;align-items:center;border:1px solid #d0dcc2;box-shadow:0 14px 25px #6e815b12;border-radius:13px;z-index:2}.art-one{left:42px;right:70px;bottom:106px;padding:20px 25px;gap:15px;background:#f8fbf2;color:#91a66a;transform:rotate(-5deg)}.art-one span{font-size:11px;color:#71835b}.art-one>svg:last-child{margin-left:auto;width:17px}.art-two{right:30px;bottom:37px;left:92px;background:#315f48;padding:23px;gap:14px;transform:rotate(4deg);color:#dce8ce}.art-two span:last-child{font-size:11px}.art-play{display:grid;place-items:center;background:#638267;border:1px solid #90a281;width:39px;height:39px;border-radius:50%}.art-play svg{width:17px}.art-circle{position:absolute;width:220px;height:220px;right:-97px;top:150px;border:1px solid #cbdab9;border-radius:50%;box-shadow:0 0 0 30px #e6eddc,0 0 0 31px #d1dec1,0 0 0 60px #e8efde,0 0 0 61px #d8e3c8}.art-grid{position:absolute;left:-12px;bottom:-20px;width:180px;height:180px;background-image:radial-gradient(#b8caa2 1px,transparent 1px);background-size:12px 12px;opacity:.45}.login-form{padding:49px 47px;display:flex;flex-direction:column;justify-content:center}.login-lock{width:46px;height:46px;background:#f1f5e9;border:1px solid #e1e9d5;border-radius:12px;display:grid;place-items:center;color:#7c9464;margin-bottom:26px}.login-form h2{font-weight:550;font-size:28px;letter-spacing:-.7px;margin:10px 0}.login-form>p{font-size:12px;line-height:1.8;color:#909c86;margin-bottom:22px}.login-form label{margin-bottom:17px;color:#6a7f5c;font-size:11px}.login-form input{background:#fcfdf9;border-color:#e2e9d8;font-size:12px;height:44px}.login-submit{width:100%;margin-top:7px;height:44px;font-size:12px;justify-content:space-between}.login-form .error{margin-bottom:10px}.privacy{display:flex;gap:7px;justify-content:center;align-items:center;font-size:9px;color:#9ca78f;margin-top:22px}.login-footer{text-align:center;font-size:10px;color:#a2ae97;padding-top:25px}@media(min-width:1500px){.main-content{padding:55px 60px}.topbar{padding:0 60px}.file-row{min-height:82px}.file-name strong{font-size:13px}}@media(max-width:1150px){.sidebar{width:205px;padding:30px 17px}.brand{font-size:20px}.brand-icon{width:33px;height:33px}main{margin-left:205px;width:calc(100% - 205px)}.main-content{padding:30px 26px}.topbar{padding:0 26px}.summary-hint{display:none}.page-header{align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch}.page-header h1{font-size:34px}.table-head,.file-row{grid-template-columns:minmax(0,1fr) 100px 65px 70px;gap:10px;padding:0 16px}.file-date{font-size:9px}.filter-controls{gap:7px}.search input{width:120px}.login-form{padding:40px 30px}.login-art{padding:48px 35px}.login-art h1{font-size:47px}}@media(max-width:800px){.sidebar{position:relative;width:100%;padding:16px 20px;flex-direction:row;align-items:center;gap:20px;border-right:0;border-bottom:1px solid var(--border)}.sidebar .brand{font-size:20px}.sidebar .space-label,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;margin-left:auto}.sidebar nav button{padding:9px;font-size:11px;gap:6px}.sidebar nav button svg:last-child:not(:first-child){display:none}.app-shell{flex-direction:column}main{margin:0;width:100%}.topbar{height:49px;padding:0 22px}.topbar-label,.connection{font-size:10px}.main-content{padding:30px 21px 15px}.page-header h1{font-size:33px}.page-header p{max-width:240px;font-size:11px}.header-actions{gap:6px}.header-actions .button,.header-actions button{font-size:10px;min-height:32px;padding:7px 10px}.summary-strip{gap:20px;padding:15px}.summary-strip>div{font-size:10px;gap:7px}.summary-icon{width:28px;height:28px}.filter-bar{flex-wrap:wrap;padding:12px 15px;gap:10px}.filter-controls{margin-left:auto}.search input{width:130px}.table-head,.file-row{grid-template-columns:minmax(0,1fr) 72px 68px}.file-date,.table-head span:nth-child(2){display:none}.file-name{gap:10px}.file-name strong{font-size:11px}.file-name small{font-size:9px}.file-icon{width:35px;height:35px}.file-size{font-size:9px}.file-actions{gap:0}.library-toolbar{padding:11px 15px}.library-footer{font-size:9px;padding:14px}.page-footer{font-size:9px}.login-shell{grid-template-columns:1fr;max-width:430px;margin:36px auto}.login-art{display:none}.login-form{padding:34px}.login-page{padding:25px}.login-form h2{font-size:27px}.overlay{padding:15px}.player-title{padding:13px;gap:8px}.player-title h2{font-size:11px}.player-title p{font-size:9px}.player-controls{padding:10px}.player-note{font-size:9px;padding:10px 14px}.time{font-size:10px}.control-row{gap:2px}.control-row select{font-size:10px}.share-row{gap:9px;padding:14px;flex-wrap:wrap}.share-description{min-width:180px}.share-dialog{padding:28px}.share-dialog h2{font-size:22px}}@media(max-width:440px){.sidebar{gap:8px;padding:15px}.sidebar .brand{font-size:17px;gap:7px}.sidebar nav button{font-size:10px;padding:8px}.sidebar nav button>svg{width:15px}.sidebar .brand-icon{width:30px;height:30px}.main-content{padding:25px 13px}.topbar{padding:0 15px}.eyebrow{font-size:8px}.page-header{gap:8px;margin-bottom:22px}.page-header h1{font-size:29px}.page-header p{font-size:10px;max-width:190px}.header-actions .button,.header-actions button{font-size:9px;padding:7px}.summary-strip{gap:13px;padding:12px}.summary-strip>div{font-size:9px;gap:5px}.summary-icon{display:none}.filter-controls{width:100%;justify-content:space-between}.search input{width:170px}.file-row,.table-head{padding:0 12px;gap:7px;grid-template-columns:minmax(0,1fr) 48px 63px}.file-name{gap:8px}.file-icon{width:30px;height:34px}.file-name strong{font-size:10px}.file-name small{font-size:8px}.file-actions .icon-button{min-width:29px;padding:6px}.library-footer>span:last-child{font-size:8px}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.file-grid .file-row{padding:10px}.file-grid .file-name strong{font-size:9px}.file-grid .file-icon{height:76px}.player-title .file-icon{display:none}.control-row .icon-button{min-width:27px;padding:5px}.control-row .time{font-size:9px;margin-left:0}.video-message p{font-size:12px}.video-message span{font-size:10px}.player-title h2{max-width:260px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:3s!important}}@media(max-width:440px){.filter-controls{min-width:0}.search{flex:1;min-width:0}.search input{width:100%;min-width:0}.sort-control,.view-toggle{flex-shrink:0}}
