:root{--sidebar-width:clamp(84px, 23vw, 102px);--ink:#173542;--muted:#708a94;--blue:#43b8d4;--blue-deep:#178eaf;--blue-soft:#e1f5fa;--line:#d9eaf0;--white:#fff;--danger:#d85d6a;--shadow:0 18px 44px #2d83991a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:#eaf8fb;min-height:100%}body{min-height:100%;color:var(--ink);background:radial-gradient(circle at 90% 4%,#ffffffe6,#0000 32%),linear-gradient(150deg,#dff5fa 0%,#f4fbfd 45%,#e8f7fb 100%);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #43b8d447}.app-shell{opacity:0;min-height:100dvh;transition:opacity .18s}.app-shell.is-ready{opacity:1}.sidebar{z-index:20;width:calc(var(--sidebar-width) + env(safe-area-inset-left));padding:calc(14px + env(safe-area-inset-top)) 8px calc(12px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));-webkit-backdrop-filter:blur(22px)saturate(1.3);background:#ffffffc7;border-right:1px solid #b1dae49e;flex-direction:column;align-items:stretch;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 32px #307c8f12}.brand-mark{color:#fff;background:linear-gradient(145deg,#6cd0e4,#2ca6c4);border-radius:17px;place-items:center;width:50px;height:50px;margin:0 auto 18px;font-size:20px;font-weight:800;display:grid;box-shadow:0 10px 22px #29a1be40,inset 0 1px #ffffff8c}.category-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:9px;min-height:0;display:flex;overflow-y:auto}.category-nav::-webkit-scrollbar{display:none}.category-button,.manage-button{cursor:pointer;background:0 0;border:0;border-radius:18px;min-height:64px;transition:transform .16s,background .16s,color .16s}.category-button{color:#69818a;text-align:center;place-items:center;padding:8px 5px;font-size:13px;font-weight:650;line-height:1.25;display:grid;position:relative}.category-button span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.category-button small{color:#82949b;background:#eaf2f4;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-top:4px;padding:0 5px;font-size:10px;display:grid}.category-button.active{color:#137f9d;background:linear-gradient(145deg,#d9f3f9,#eefbfe);box-shadow:inset 0 0 0 1px #49b5cf2e,0 8px 18px #4aa4b81c}.category-button.active:before{background:var(--blue);content:"";border-radius:0 5px 5px 0;width:4px;position:absolute;top:16px;bottom:16px;left:-8px}.category-button.active small{background:var(--blue);color:#fff}.category-button:active,.manage-button:active,.primary-button:active,.timestamp-play:active{transform:scale(.97)}.manage-button{min-height:58px;color:var(--blue-deep);place-items:center;margin-top:10px;font-size:12px;font-weight:700;display:grid}.manage-button span{font-size:22px;line-height:18px}.content-column{width:calc(100% - var(--sidebar-width) - env(safe-area-inset-left));max-width:720px;min-height:100dvh;margin-left:calc(var(--sidebar-width) + env(safe-area-inset-left));padding:calc(22px + env(safe-area-inset-top)) 14px calc(26px + env(safe-area-inset-bottom))}.page-header{padding:4px 4px 18px}.eyebrow{letter-spacing:.14em;font-weight:800;color:#4baac0!important;margin:0 0 6px!important;font-size:10px!important}.page-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(27px,8vw,38px);line-height:1.08}.page-header p{color:var(--muted);margin:8px 0 0;font-size:14px}.import-card,.video-card,.empty-card{box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #ffffffe6;border-radius:26px}.import-card{padding:18px}.section-heading,.video-card-heading,.timestamp-heading,.modal-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading h2,.video-card-heading h2,.timestamp-heading h3,.modal-heading h2{margin:0}.section-heading h2{font-size:18px}.section-heading p,.video-card-heading p,.timestamp-heading p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.section-heading>span{background:var(--blue-soft);color:var(--blue-deep);border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:750}.import-form{grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:16px;display:grid}input,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffffff0;border-radius:15px;outline:none;font-size:16px;transition:border .16s,box-shadow .16s}input{min-height:48px;padding:0 13px}textarea{resize:vertical;min-height:88px;padding:12px 13px}input::placeholder,textarea::placeholder{color:#a5b4ba}input:focus,textarea:focus{border-color:#65bfd4;box-shadow:0 0 0 4px #4cb8d21c}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:15px;min-height:48px;padding:0 17px;font-weight:750}.primary-button{color:#fff;background:linear-gradient(145deg,#58c2d9,#31a6c4);box-shadow:0 9px 20px #269eba38}.secondary-button{color:#54717b;background:#edf4f6}.danger-button{color:#fff;background:#e36c78}.field-error{color:var(--danger);margin:8px 2px 0;font-size:12px}.video-list{gap:16px;margin-top:16px;display:grid}.empty-card{text-align:center;align-content:center;place-items:center;min-height:260px;padding:30px 20px;display:grid}.empty-icon{background:var(--blue-soft);width:58px;height:58px;color:var(--blue);border-radius:20px;place-items:center;margin-bottom:16px;font-size:19px;display:grid}.empty-card h2{margin:0;font-size:18px}.empty-card p{max-width:290px;color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.65}.video-card{padding:16px;overflow:hidden}.video-card-heading{padding:2px 2px 14px}.video-card-heading>div:first-child{min-width:0}.video-card-heading h2{overflow-wrap:anywhere;font-size:19px;line-height:1.25}.video-card-heading p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-actions{flex:none;gap:4px;display:flex}.icon-button,.mini-button{color:#718890;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.icon-button{width:42px;height:42px;font-size:22px}.mini-button{width:38px;min-width:38px;height:42px;font-size:18px}.icon-button.danger,.mini-button.danger,.text-button.danger{color:var(--danger)}.player-frame{aspect-ratio:16/9;background:#10222a;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.player-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.timestamp-section{padding-top:16px}.timestamp-heading{align-items:center}.timestamp-heading h3{font-size:15px}.add-stamp-button{background:var(--blue-soft);min-height:40px;color:var(--blue-deep);cursor:pointer;border:0;border-radius:13px;flex:none;padding:0 12px;font-size:12px;font-weight:750}.timestamp-list{gap:8px;margin-top:13px;display:grid}.timestamp-row{align-items:center;gap:3px;display:flex}.timestamp-play{cursor:pointer;text-align:left;background:#f0f8fa;border:0;border-radius:15px;flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:48px;padding:5px 11px;display:grid}.play-dot{width:28px;height:28px;color:var(--blue);background:#fff;border-radius:10px;place-items:center;font-size:10px;display:grid;box-shadow:0 4px 12px #3094ab1f}.timestamp-label{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.timestamp-play strong{color:var(--blue-deep);font-size:13px}.empty-timestamp{color:#77909a;cursor:pointer;background:#f8fcfd;border:1px dashed #bcdce4;border-radius:15px;width:100%;min-height:48px;margin-top:12px;font-size:12px}.page-footer{color:#87a1aa;text-align:center;padding:24px 0 4px;font-size:11px}.modal-backdrop{z-index:100;padding:18px max(14px, env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);background:#122f3952;justify-content:center;align-items:flex-end;animation:.16s both fade-in;display:flex;position:fixed;inset:0}.modal-sheet{background:#fffffff7;border:1px solid #ffffffe0;border-radius:26px;width:min(100%,480px);max-height:min(80dvh,680px);padding:20px;animation:.22s cubic-bezier(.2,.75,.25,1) both sheet-up;overflow-y:auto;box-shadow:0 28px 80px #11485547}.modal-heading{align-items:center;margin-bottom:18px}.modal-heading h2{font-size:21px}.stacked-form{gap:9px;display:grid}.stacked-form label{margin-top:3px;font-size:13px;font-weight:700}.stacked-form label small{color:#91a5ad;font-weight:500}.full-width{width:100%;margin-top:8px}.bvid-badge{background:var(--blue-soft);width:fit-content;color:var(--blue-deep);border-radius:999px;margin-bottom:3px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700}.form-hint{color:#81979f;margin:-2px 0 4px;font-size:11px}.manager-list{gap:8px;display:grid}.manager-row{background:#f2f8fa;border-radius:15px;justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:6px 8px 6px 13px;font-size:14px;font-weight:650;display:flex}.manager-row>div{display:flex}.text-button{min-height:40px;color:var(--blue-deep);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:13px}.text-button:disabled{opacity:.3}.confirm-message{color:var(--muted);margin:-2px 0 20px;font-size:14px;line-height:1.65}.confirm-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(20px)scale(.98)}}@media (width>=760px){.content-column{margin-right:auto;padding-left:24px;padding-right:24px}}@media (width<=360px){:root{--sidebar-width:78px}.sidebar{padding-right:6px}.brand-mark{border-radius:15px;width:46px;height:46px}.content-column{padding-left:10px;padding-right:10px}.import-card,.video-card{border-radius:22px;padding:13px}.section-heading p,.timestamp-heading p{display:none}.primary-button{padding:0 13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
