*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}html{height:100%;overflow:hidden}html,body{touch-action:pan-x pan-y}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);color:var(--text-primary)}#root{width:100%;height:100%;overflow:hidden}:root{color-scheme:light}[data-theme=dark]{color-scheme:dark}button{font:inherit;color:inherit}a{color:var(--text-accent);text-decoration:inherit;font-weight:500}a:hover{color:var(--accent-700)}:root{--font-display: 2rem;--font-h1: 1.75rem;--font-h2: 1.375rem;--font-h3: 1.125rem;--font-body: 1rem;--font-small: .875rem;--font-caption: .75rem}@media(max-width:1024px){:root{--font-display: 1.9rem;--font-h1: 1.65rem;--font-h2: 1.3rem;--font-h3: 1.075rem;--font-body: .975rem;--font-small: .85rem}}@media(max-width:768px){:root{--font-display: 1.75rem;--font-h1: 1.5rem;--font-h2: 1.2rem;--font-h3: 1.025rem;--font-body: .95rem;--font-small: .825rem}}@media(max-width:480px){:root{--font-display: 1.6rem;--font-h1: 1.375rem;--font-h2: 1.125rem;--font-h3: 1rem;--font-body: .9rem;--font-small: .8rem;--font-caption: .75rem}}.modal-backdrop{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);box-sizing:border-box;background:transparent;transition:background .25s ease}.modal-backdrop--visible{background:var(--shadow-tint)}.modal-backdrop .modal-content{z-index:9001;max-height:calc(var(--vh, 1vh) * 85);opacity:0;transform:translateY(8px) scale(.98);transition:opacity .25s ease,transform .25s cubic-bezier(.32,.72,0,1)}.modal-backdrop--visible .modal-content{opacity:1;transform:translateY(0) scale(1)}@media(max-width:767px){.modal-backdrop{align-items:flex-end;padding:0}.modal-backdrop .modal-content{width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:calc(var(--vh, 1vh) * 90);opacity:1;transform:translateY(100%)}.modal-backdrop--visible .modal-content{transform:translateY(0)}}.sheet-backdrop{position:fixed;inset:0;background:transparent;z-index:8998;transition:background .3s ease}.sheet-backdrop--visible{background:var(--shadow-tint)}.sheet-panel{position:fixed;bottom:0;left:0;right:0;z-index:8999;max-height:calc(var(--vh, 1vh) * 70);background:var(--surface-overlay);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--border-subtle);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.sheet-panel--visible{transform:translateY(0)}@media(min-width:768px){.sheet-panel{left:50%;right:auto;width:100%;max-width:560px;border-radius:var(--radius-lg);bottom:var(--space-5);max-height:calc(var(--vh, 1vh) * 80);transform:translate(-50%) translateY(calc(100% + var(--space-5)))}.sheet-panel--visible{transform:translate(-50%) translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@font-face{font-family:Omnes;src:url(/assets/Omnes%20Regular-CVSz1tp0.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Omnes;src:url(/assets/Omnes%20Medium-CN8OlUY_.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Metropolis;src:url(/assets/metropolis.regular-CzBvJ1n5.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Metropolis;src:url(/assets/metropolis.thin-CBd6ii7K.otf) format("opentype");font-weight:100;font-style:normal}@font-face{font-family:Roboto;src:url(/assets/Roboto-WOy3sDCz.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:JetBrainsMono;src:url(/assets/JetBrainsMono-BzXBp1x2.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:ProFontII;src:url(/assets/ProFontIIxNerdFont-Regular-BpAml5LF.ttf) format("truetype");font-weight:400;font-style:normal}.chat-icon-btn{position:relative}.chat-icon-btn--active{background:var(--surface-selected);color:var(--text-primary)}.chat-icon-badge{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--danger);color:var(--text-inverse);font-size:var(--font-caption);font-weight:600;line-height:15px;text-align:center;box-sizing:border-box;pointer-events:none;box-shadow:0 0 0 2px var(--surface-raised);animation:badge-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes badge-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.chat-list-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-list-panel{position:fixed;top:64px;right:16px;width:320px;height:520px;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;z-index:500;background:var(--surface-raised);box-shadow:var(--shadow-overlay);opacity:0;transform:translateY(-8px) scale(.97);pointer-events:none;transform-origin:top right;transition:opacity .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1),pointer-events 0s linear .2s}.chat-list-panel--open{opacity:1;transform:translateY(0) scale(1);pointer-events:all;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.chat-list-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.chat-list-title{font-size:var(--font-body);font-weight:700;letter-spacing:-.01em}.chat-list-close{background:none;border:none;cursor:pointer;font-size:var(--font-small);padding:4px 6px;border-radius:6px;opacity:.6;transition:opacity .15s ease;line-height:1}.chat-list-close:hover{opacity:1}.chat-list-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:0 4px}.chat-list-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 4px 8px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:600;letter-spacing:.01em;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px;white-space:nowrap}.chat-list-tab:hover:not(.chat-list-tab--active){opacity:.8}.chat-list-tab-badge{min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:700;line-height:1;box-sizing:border-box}.chat-list-search-wrap{padding:10px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.chat-list-search{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--field-bg)}.chat-list-search-input{flex:1;background:none;border:none;outline:none;min-width:0;line-height:1.4}.chat-list-search-input::placeholder{opacity:.5}.chat-list-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.chat-list-scroll::-webkit-scrollbar{width:4px}.chat-list-scroll::-webkit-scrollbar-track{background:transparent}.chat-list-scroll::-webkit-scrollbar-thumb{background:#80808040;border-radius:2px}.chat-list-empty{text-align:center;padding:32px 16px;opacity:.55;font-size:var(--font-small);font-family:Omnes,sans-serif}.chat-list-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s ease;box-sizing:border-box}.chat-list-item:hover{background:var(--surface-hover)}.chat-list-avatar-wrap{position:relative;flex-shrink:0}.chat-list-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;line-height:1}.chat-list-avatar-img{width:100%;height:100%;object-fit:cover}.chat-list-online-dot{position:absolute;bottom:1px;right:1px;width:9px;height:9px;border-radius:50%;border:2px solid transparent;box-sizing:content-box}.chat-list-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-list-name-row,.chat-list-preview-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-list-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-time{flex-shrink:0}.chat-list-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-badge{flex-shrink:0;min-width:18px;height:18px;border-radius:9px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1;box-sizing:border-box;background:var(--danger);color:var(--text-inverse)}.chat-list-footer{padding:10px 16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.chat-list-new-btn{display:flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;padding:4px 0;font-weight:600;opacity:.85;transition:opacity .15s ease}.chat-list-new-btn:hover{opacity:1}.chat-list-group-pill{position:absolute;bottom:-1px;right:-1px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--surface-raised);background:var(--surface-raised);box-sizing:content-box;flex-shrink:0}.chat-list-footer--split{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;padding-bottom:8px}.chat-list-footer--split .chat-list-new-btn{flex:1;justify-content:center;padding:6px 4px;border-radius:8px;transition:background .15s ease,opacity .15s ease;white-space:nowrap;min-width:0}.chat-list-footer--split .chat-list-new-btn:hover{background:var(--surface-hover);opacity:1}.chat-list-footer-divider{width:1px;height:18px;flex-shrink:0;opacity:.6}.chat-list-backdrop{display:none;position:fixed;inset:0;background:#0000;z-index:499;pointer-events:none;transition:background .25s ease}@media(max-width:768px){.chat-list-panel{inset:auto 0 0;width:100%;max-height:calc(var(--vh, 1vh) * 85);border-radius:20px 20px 0 0;transform:translateY(100%);transform-origin:bottom center;z-index:600}.chat-list-panel--open{transform:translateY(0)}.chat-list-backdrop{display:block}.chat-list-backdrop--visible{background:#00000073;pointer-events:all}.chat-list-footer--split .chat-list-new-btn{padding:8px 6px}.chat-list-group-pill{width:18px;height:18px;border-width:2px}}.media-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:none;border-radius:6px;background:var(--media_shared_control_bg);color:var(--media_shared_control_fg);font-size:var(--font-small);line-height:1;cursor:pointer;transition:opacity .15s;flex-shrink:0}.media-icon-btn:hover:not(:disabled){opacity:.75}.media-icon-btn:disabled{opacity:.35;cursor:not-allowed}.media-range{-webkit-appearance:none;appearance:none;height:4px;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--media_shared_progress_fill) 0%,var(--media_shared_progress_fill) var(--val, 0%),var(--media_shared_progress_track) var(--val, 0%),var(--media_shared_progress_track) 100%)}.media-range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--media_shared_scrubber);cursor:pointer}.media-range--volume{width:72px;--val: 80%}.media-toolbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--media_shared_toolbar_bg);border-bottom:1px solid var(--media_shared_border);flex-shrink:0}.media-toolbar__badge{font-size:var(--font-caption);color:var(--media_shared_badge_text);min-width:42px;text-align:center}.media-toolbar__sep{width:1px;height:16px;background:var(--media_shared_border);flex-shrink:0}.media-toolbar__dims{font-size:var(--font-caption);color:var(--media_shared_badge_text);opacity:.6;white-space:nowrap;padding-right:4px}.media-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--media_shared_error_text);font-size:var(--font-small)}.media-error span{font-size:var(--font-display)}.media-image-viewer{--media-toolbar-h: 36px;position:relative;height:100%;width:100%;background:var(--media_image_bg);overflow:hidden}.media-image-viewer .media-toolbar{position:absolute;top:0;left:0;right:0;height:var(--media-toolbar-h);box-sizing:border-box;z-index:2}.media-image-viewer__canvas{position:absolute;top:var(--media-toolbar-h);left:0;right:0;bottom:0;overflow:hidden;outline:none;touch-action:none}.media-image-viewer__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-image-viewer__canvas img{pointer-events:none}.media-image-viewer__spinner{width:36px;height:36px;border:3px solid var(--media_shared_progress_track);border-top-color:var(--media_shared_progress_fill);border-radius:50%;animation:media-spin .7s linear infinite}.media-video-player{position:relative;display:flex;align-items:center;justify-content:center;height:100%;background:var(--media_video_bg);overflow:hidden}.media-video-player__video{width:100%;height:100%;object-fit:contain;display:block}.media-video-player__controls{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,var(--media_video_controls_bg));display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity .2s;pointer-events:none}.media-video-player__controls--visible{opacity:1;pointer-events:all}.media-video-player__progress-wrap{position:relative;height:4px}.media-video-player__buf-track{position:absolute;top:0;left:0;height:4px;border-radius:99px;background:var(--media_video_buffer_fill);pointer-events:none}.media-video-player__progress-wrap .media-range--seek{position:absolute;top:0;left:0;width:100%;background:linear-gradient(to right,var(--media_video_progress_fill) 0%,var(--media_video_progress_fill) var(--val, 0%),transparent var(--val, 0%),transparent 100%)}.media-video-player__btn-row{display:flex;align-items:center;gap:8px}.media-video-player__time{font-size:var(--font-caption);color:var(--media_video_time_text);white-space:nowrap}.media-video-player__big-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;background:var(--media_video_controls_bg);border:none;border-radius:50%;width:64px;height:64px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .15s,transform .15s}.media-video-player__big-play:hover{opacity:1;transform:translate(-50%,-50%) scale(1.08)}.media-music-player{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:100%;padding:24px;background:var(--media_music_bg)}.media-music-player__art{position:relative;width:140px;height:140px;border-radius:16px;background:var(--media_music_art_bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px #0000002e}.media-music-player__art-icon{font-size:52px}.media-music-player__ring{position:absolute;border-radius:50%;border:2px solid var(--media_music_ring_color);animation:music-ring 2s ease-out infinite;pointer-events:none}.media-music-player__ring--1{width:160px;height:160px}.media-music-player__ring--2{width:190px;height:190px;animation-delay:.6s}@keyframes music-ring{0%{opacity:.45;transform:scale(.85)}to{opacity:0;transform:scale(1.15)}}.media-music-player__meta{text-align:center}.media-music-player__title{font-size:var(--font-body);font-weight:600;color:var(--media_music_title_text);margin:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-music-player__seek-wrap{display:flex;align-items:center;gap:8px;width:100%;max-width:320px}.media-music-player__track-wrap{flex:1;position:relative;height:4px}.media-music-player__track-fill{position:absolute;top:0;left:0;height:4px;border-radius:99px;background:var(--media_music_progress_fill);pointer-events:none}.media-music-player__track-wrap .media-range--seek{position:absolute;top:0;left:0;width:100%;background:var(--media_music_progress_track)}.media-music-player__time{font-size:var(--font-caption);color:var(--media_music_time_text);white-space:nowrap;min-width:34px}.media-music-player__controls{display:flex;align-items:center;gap:12px}.media-music-player__play-btn{width:48px;height:48px;border-radius:50%;font-size:var(--font-h3);background:var(--media_music_play_btn_bg);color:var(--media_music_play_btn_fg)}.media-music-player__volume-row{display:flex;align-items:center;gap:8px;width:100%;max-width:320px}.media-music-player__volume-row .media-range--volume{flex:1;width:auto}.chat-window{width:300px;height:460px;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;margin-bottom:-.2rem;background:var(--surface-raised);border:1px solid var(--border-subtle);animation:window-slide-up .28s cubic-bezier(.34,1.56,.64,1) both}@keyframes window-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-window--minimized{height:auto;border-radius:12px 12px 0 0}.chat-window-header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 12px;border-bottom:1px solid;cursor:default;flex-shrink:0;-webkit-user-select:none;user-select:none;gap:8px}.chat-window--minimized .chat-window-header{cursor:pointer;border-bottom:none}.chat-win-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.chat-win-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.chat-win-header-info{display:flex;flex-direction:column;min-width:0}.chat-win-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.chat-win-typing-label{font-style:italic;line-height:1.2}.chat-win-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-win-ctrl-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:none;background:none;cursor:pointer;opacity:.65;transition:opacity .15s ease,background .15s ease;padding:0}.chat-win-ctrl-btn:hover{opacity:1;background:var(--surface-hover)}.chat-win-unread-badge{min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1;box-sizing:border-box;animation:badge-pop .3s cubic-bezier(.34,1.56,.64,1)}.chat-win-messages{flex:1;overflow:visible;display:flex;flex-direction:column;min-height:0;position:relative}.chat-win-messages-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding:36px 10px 8px;display:flex;flex-direction:column;gap:4px;scroll-behavior:smooth}.chat-win-messages-scroll::-webkit-scrollbar{width:3px}.chat-win-messages-scroll::-webkit-scrollbar-track{background:transparent}.chat-win-messages-scroll::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.chat-win-loading{display:flex;align-items:center;justify-content:center;gap:6px;padding:24px 0;flex:1}.chat-loading-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:chat-loading 1.2s ease-in-out infinite}.chat-loading-dot:nth-child(2){animation-delay:.15s}.chat-loading-dot:nth-child(3){animation-delay:.3s}@keyframes chat-loading{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:.9}}.msg-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;position:relative}.msg-row--mine{align-items:flex-end}.msg-deleted{font-style:italic;padding:4px 8px}.msg-bubble{max-width:78%;padding:7px 10px 5px;position:relative;word-break:break-word}.msg-text{margin:0;line-height:1.45}.msg-reply-preview{display:flex;flex-direction:column;padding:5px 8px;margin-bottom:5px;border-left:3px solid;border-radius:4px;gap:2px}.msg-reply-name{font-weight:700;letter-spacing:.01em}.msg-reply-content{line-height:1.3}.msg-attachments{display:flex;flex-direction:column;gap:6px;margin-top:6px}.msg-attachment-img{max-width:180px;border-radius:8px;display:block}.msg-attachment-file{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px}.msg-footer{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:3px}.msg-edited{font-style:italic}.msg-tick{display:block;flex-shrink:0}.msg-reactions{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.msg-reactions--mine{justify-content:flex-end}.msg-reaction{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:10px;border:1px solid transparent;cursor:pointer;background:none;transition:background .15s ease,border-color .15s ease,transform .1s ease;line-height:1}.msg-reaction:hover{transform:scale(1.1)}.msg-actions{position:absolute;top:-30px;left:0;display:flex;align-items:center;gap:2px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:20px;padding:4px 6px;z-index:10;box-shadow:var(--shadow-overlay);animation:actions-pop .15s ease}.msg-actions--mine{left:auto;right:0}@keyframes actions-pop{0%{opacity:0;transform:scale(.9) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.msg-action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:none;cursor:pointer;opacity:.7;transition:opacity .15s ease,background .15s ease;padding:0}.msg-action-btn:hover{opacity:1;background:var(--surface-hover)}.msg-action-btn--emoji{font-size:var(--font-small)}.msg-typing-bubble{padding:10px 14px;border-radius:14px 14px 14px 4px!important;display:flex;align-items:center;gap:4px}.typing-dot{width:5px;height:5px;border-radius:50%;opacity:.5;animation:typing-bounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}.chat-win-reply-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid;flex-shrink:0}.chat-win-reply-preview{flex:1;display:flex;flex-direction:column;gap:2px;padding:4px 8px;border-left:3px solid var(--action-bg);background:var(--surface-sunken);border-radius:4px}.chat-win-reply-cancel{background:none;border:none;cursor:pointer;font-size:var(--font-caption);opacity:.55;padding:2px 4px;transition:opacity .15s ease}.chat-win-reply-cancel:hover{opacity:1}.chat-win-input-area{flex-shrink:0;padding:8px 8px 10px;border-top:1px solid;position:relative}.chat-win-input-row{display:flex;align-items:flex-end;gap:6px}.chat-input-emoji-btn,.chat-input-attach-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:none;cursor:pointer;flex-shrink:0;padding:0;opacity:.65;transition:opacity .15s ease}.chat-input-emoji-btn:hover,.chat-input-attach-btn:hover{opacity:1}.chat-win-input{flex:1;min-width:0;border:none;background:transparent;border-radius:0;padding:6px 10px;resize:none;outline:none;line-height:1.45;min-height:32px;max-height:80px;font-family:Omnes,sans-serif;box-sizing:border-box;overflow-y:auto;display:block;width:100%}.chat-win-input:focus{outline:none}.chat-win-input::placeholder{opacity:.45}.chat-input-send-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid;cursor:pointer;flex-shrink:0;padding:0;transition:background .2s ease,border-color .2s ease,transform .15s ease,color .2s ease}.chat-input-send-btn:enabled:hover{transform:scale(1.08);filter:brightness(1.1)}.chat-input-send-btn:disabled{cursor:default;opacity:.5}.chat-emoji-picker{position:absolute;bottom:calc(100% + 6px);left:0;right:0;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-raised);padding:10px 8px 8px;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;box-shadow:var(--shadow-overlay);z-index:20;animation:actions-pop .15s ease;max-height:200px;overflow-y:auto}.chat-emoji-picker::-webkit-scrollbar{width:3px}.chat-emoji-picker::-webkit-scrollbar-track{background:transparent}.chat-emoji-picker::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.chat-emoji-picker-btn{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;background:none;border-radius:8px;cursor:pointer;font-size:var(--font-h2);line-height:1;transition:background .1s ease,transform .1s ease;padding:4px}.chat-emoji-picker-btn:hover{background:var(--surface-hover);transform:scale(1.15)}.chat-win-input-box{flex:1;min-width:0;border:1px solid var(--border-subtle);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s ease}.chat-win-input-box:focus-within{border-color:var(--border-focus)!important}.chat-win-input-chips{display:flex;flex-wrap:wrap;gap:5px;padding:6px 8px 4px}.chat-win-file-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 5px 3px 4px;border-radius:6px;border:1px solid var(--border-subtle);max-width:120px;flex-shrink:0}.chat-win-file-chip-img{width:22px;height:22px;border-radius:3px;object-fit:cover;flex-shrink:0}.chat-win-file-chip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Omnes,sans-serif;line-height:1.3}.chat-win-file-chip-remove{background:none;border:none;cursor:pointer;font-size:var(--font-caption);opacity:.5;padding:0 1px;flex-shrink:0;transition:opacity .15s ease;line-height:1}.chat-win-file-chip-remove:hover{opacity:1}.msg-system-row{display:flex;justify-content:center;padding:6px 0;width:100%}.msg-system-pill{display:inline-block;padding:4px 12px;border-radius:12px;background:var(--surface-sunken);font-style:italic;letter-spacing:.01em;text-align:center;max-width:80%;white-space:normal;line-height:1.35}.msg-sender-header{display:flex;align-items:center;gap:5px;margin:2px 0 -1px 6px}.msg-sender-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden;line-height:1}.msg-sender-avatar-img{width:100%;height:100%;object-fit:cover}.msg-sender-name{font-weight:600;letter-spacing:.01em;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.chat-win-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.chat-win-avatar{overflow:hidden}.chat-win-subtitle{line-height:1.2;opacity:.9}@media(max-width:768px){.chat-window{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;border:none!important;z-index:400;animation:none}.chat-window .flex-panel-content{border-radius:0!important}.chat-win-ctrl-btn--minimize{display:none}.chat-win-messages-scroll{padding:36px 14px 14px;gap:6px}.msg-bubble{max-width:85%}.chat-win-input-area{padding:10px 14px max(14px,env(safe-area-inset-bottom))}.chat-window-header{padding:14px 14px 14px 16px;border-radius:0}.chat-win-avatar{width:38px;height:38px;font-size:14px!important}.chat-win-name{font-size:16px!important}.chat-win-typing-label{font-size:13px!important}.chat-win-ctrl-btn{width:32px;height:32px}.chat-win-ctrl-btn svg{width:16px;height:16px}.msg-bubble{padding:9px 13px 7px}.msg-text{font-size:16px!important;line-height:1.5}.msg-footer{margin-top:4px;gap:5px}.msg-footer span,.msg-edited{font-size:12px!important}.msg-tick{width:15px;height:10px}.msg-reply-name{font-size:12px!important}.msg-reply-content{font-size:13px!important}.msg-reaction{padding:4px 9px;font-size:16px!important;border-radius:14px;gap:5px}.msg-reaction span{font-size:13px!important}.chat-win-reply-bar{padding:8px 14px}.chat-win-reply-preview span{font-size:13px!important}.chat-win-input-row{gap:10px}.chat-input-emoji-btn,.chat-input-attach-btn{width:36px;height:36px}.chat-input-emoji-btn svg,.chat-input-attach-btn svg{width:22px;height:22px}.chat-win-input{font-size:16px!important;min-height:40px;padding:8px 12px}.chat-input-send-btn{width:40px;height:40px;flex-shrink:0}.chat-input-send-btn svg{width:18px;height:18px}.msg-sender-avatar{width:22px;height:22px}.msg-sender-name{font-size:13px!important}.msg-system-pill{font-size:12px!important;padding:5px 14px}.chat-win-subtitle{font-size:13px!important}.chat-win-file-chip{padding:5px 7px 5px 6px}.chat-win-file-chip-img{width:28px;height:28px}.chat-win-file-chip-name{font-size:13px!important}}.contact-picker{position:fixed;bottom:0;right:16px;width:280px;max-height:420px;border-radius:14px 14px 0 0;border:1px solid var(--border-subtle);border-bottom:none;background:var(--surface-raised);display:flex;flex-direction:column;overflow:hidden;z-index:450;box-shadow:0 -4px 32px #00000038,0 -2px 8px #0000001f;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.contact-picker--open{opacity:1;transform:translateY(0);pointer-events:all}.contact-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.contact-picker-title{font-size:var(--font-small);font-weight:700;letter-spacing:-.01em}.contact-picker-close{background:none;border:none;cursor:pointer;font-size:var(--font-caption);padding:3px 5px;border-radius:5px;opacity:.55;transition:opacity .15s ease;line-height:1}.contact-picker-close:hover{opacity:1}.contact-picker-search-wrap{padding:9px 11px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.contact-picker-search{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;border:1px solid var(--border-subtle)}.contact-picker-search-input{flex:1;background:none;border:none;outline:none;min-width:0;line-height:1.4}.contact-picker-search-input::placeholder{opacity:.45}.contact-picker-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.contact-picker-scroll::-webkit-scrollbar{width:3px}.contact-picker-scroll::-webkit-scrollbar-track{background:transparent}.contact-picker-scroll::-webkit-scrollbar-thumb{background:#80808033;border-radius:2px}.contact-picker-empty{display:flex;align-items:center;justify-content:center;padding:28px 16px;font-size:var(--font-caption);font-family:Omnes,sans-serif;opacity:.6;text-align:center}.contact-picker-loading{display:flex;align-items:center;gap:5px}.contact-picker-loading span{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.4;animation:cp-dot 1.2s ease-in-out infinite}.contact-picker-loading span:nth-child(2){animation-delay:.15s}.contact-picker-loading span:nth-child(3){animation-delay:.3s}@keyframes cp-dot{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.35);opacity:.9}}.contact-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 13px;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s ease;box-sizing:border-box;position:relative}.contact-picker-item:hover:not(:disabled){background:var(--surface-hover)}.contact-picker-item:disabled{cursor:default;opacity:.7}.contact-picker-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden}.contact-picker-avatar-img{width:100%;height:100%;object-fit:cover}.contact-picker-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.contact-picker-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.contact-picker-label{text-transform:capitalize;line-height:1.2}.contact-picker-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-subtle);border-top:2px solid var(--text-accent);animation:cp-spin .7s linear infinite;flex-shrink:0}@keyframes cp-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.contact-picker{left:0;right:0;width:100%;max-height:calc(var(--vh, 1vh) * 75);border-radius:20px 20px 0 0;border-bottom:none;z-index:650}}.group-picker{position:fixed;bottom:0;right:16px;width:300px;max-height:460px;border-radius:14px 14px 0 0;border:1px solid var(--border-subtle);border-bottom:none;background:var(--surface-raised);display:flex;flex-direction:column;overflow:hidden;z-index:450;box-shadow:var(--shadow-overlay);font-family:Omnes,sans-serif;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.group-picker--open{opacity:1;transform:translateY(0);pointer-events:all}.group-picker-header{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.group-picker-title{flex:1;font-weight:700;letter-spacing:-.01em}.group-picker-back,.group-picker-close{background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:5px;opacity:.55;transition:opacity .15s ease;line-height:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-caption)}.group-picker-back:hover,.group-picker-close:hover{opacity:1}.group-picker-search-wrap{padding:9px 11px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.group-picker-search{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;border:1px solid var(--border-subtle);background:var(--field-bg)}.group-picker-search-input{flex:1;background:none;border:none;outline:none;min-width:0;line-height:1.4;font-family:inherit}.group-picker-search-input::placeholder{opacity:.45}.group-picker-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.group-picker-scroll::-webkit-scrollbar{width:3px}.group-picker-scroll::-webkit-scrollbar-track{background:transparent}.group-picker-scroll::-webkit-scrollbar-thumb{background:#80808033;border-radius:2px}.group-picker-section{padding:4px 0 6px}.group-picker-section+.group-picker-section{border-top:1px solid var(--border-subtle)}.group-picker-section-title{padding:10px 13px 4px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;opacity:.7}.group-picker-empty{display:flex;align-items:center;justify-content:center;padding:28px 16px;font-family:inherit;opacity:.7;text-align:center}.group-picker-loading{display:flex;align-items:center;gap:5px}.group-picker-loading span{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.4;animation:gp-dot 1.2s ease-in-out infinite}.group-picker-loading span:nth-child(2){animation-delay:.15s}.group-picker-loading span:nth-child(3){animation-delay:.3s}@keyframes gp-dot{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.35);opacity:.9}}.group-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 13px;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s ease;box-sizing:border-box;position:relative;font-family:inherit}.group-picker-item:hover:not(:disabled){background:var(--surface-hover)}.group-picker-item:disabled{cursor:default;opacity:.7}.group-picker-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden}.group-picker-avatar-img{width:100%;height:100%;object-fit:cover}.group-picker-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.group-picker-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.group-picker-sub{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-picker-action-hint{flex-shrink:0;padding:3px 9px;border-radius:10px;border:1px solid var(--border-subtle);font-weight:700;letter-spacing:.02em;line-height:1}.group-picker-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-subtle);border-top:2px solid var(--text-accent);animation:gp-spin .7s linear infinite;flex-shrink:0}.group-picker-spinner--on-button{border:2px solid rgba(255,255,255,.35);border-top:2px solid #fff;width:14px;height:14px}@keyframes gp-spin{to{transform:rotate(360deg)}}.group-picker-accept{flex:1;display:flex;flex-direction:column;align-items:center;padding:22px 20px 18px;gap:8px;text-align:center}.group-picker-accept-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;margin-bottom:4px}.group-picker-accept-name{font-weight:700;letter-spacing:-.01em;line-height:1.25}.group-picker-accept-body{line-height:1.45;max-width:240px}.group-picker-accept-meta{margin-top:2px;opacity:.8;font-family:inherit}.group-picker-accept-actions{display:flex;align-items:center;gap:8px;width:100%;margin-top:14px}.group-picker-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-weight:600;font-family:inherit;transition:background .15s ease,opacity .15s ease,transform .1s ease;min-height:40px}.group-picker-btn:disabled{cursor:default;opacity:.65}.group-picker-btn:enabled:hover{transform:scale(1.015)}.group-picker-btn--secondary{background:transparent}.group-picker-btn--secondary:enabled:hover{background:var(--surface-hover)}.group-picker-btn--primary{border-color:transparent}@media(max-width:768px){.group-picker{left:0;right:0;width:100%;max-height:calc(var(--vh, 1vh) * 75);border-radius:20px 20px 0 0;border-bottom:none;z-index:650}.group-picker-item{padding:11px 14px;min-height:56px}.group-picker-avatar{width:40px;height:40px}.group-picker-action-hint{padding:5px 11px;min-height:28px;display:inline-flex;align-items:center}.group-picker-btn{min-height:44px;padding:11px 14px;border-radius:12px}.group-picker-accept{padding:26px 22px 22px}.group-picker-accept-avatar{width:64px;height:64px}}.chat-windows-tray{position:fixed;bottom:0;right:6px;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:8px;z-index:400;pointer-events:none}.chat-windows-tray>*{pointer-events:all}@media(max-width:768px){.chat-windows-tray{right:0;gap:0}}::selection{background-color:var(--accent-200);color:var(--text-primary)}.acr-field-input::placeholder{color:var(--field-placeholder);opacity:1}.acr-field{display:flex;align-items:center;width:100%;box-sizing:border-box;background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.acr-field:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-200)}.acr-field.disabled{opacity:.5;cursor:not-allowed}.acr-field-input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:inherit;line-height:1.5;padding:0;appearance:none}.acr-field-input:disabled{cursor:not-allowed}.acr-field-input:read-only{cursor:default;opacity:.7}.acr-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease,filter .15s ease}.acr-button:active:not(:disabled){transform:scale(.98)}.acr-button:disabled{opacity:.5;cursor:not-allowed}.acr-button:focus-visible,.acr-radio:focus-visible,.acr-select-trigger:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.acr-button--primary{background:var(--action-bg);color:var(--action-text)}.acr-button--primary:hover:not(:disabled){background:var(--action-bg-hover)}.acr-button--secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.acr-button--secondary:hover:not(:disabled){background:var(--surface-hover)}.acr-button--ghost{background:transparent;color:var(--text-accent)}.acr-button--ghost:hover:not(:disabled){background:var(--action-ghost-hover)}.acr-button--danger{background:var(--danger);color:var(--text-inverse)}.acr-button--danger:hover:not(:disabled){filter:brightness(.92)}.acr-select-dropdown{overflow-y:auto;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay)}.acr-select-dropdown::-webkit-scrollbar{width:4px}.acr-select-dropdown::-webkit-scrollbar-track{background:transparent}.acr-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.acr-select-option{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--text-primary);line-height:1.4;transition:background .1s ease}.acr-select-option:hover:not(.disabled){background:var(--surface-hover)}.acr-select-option.selected{background:var(--surface-selected);font-weight:600}.acr-select-option.disabled{opacity:.4;cursor:default}.acr-select-option .tick{color:var(--text-accent);flex-shrink:0}.acr-select-backdrop{position:fixed;inset:0;z-index:1000;background:#0000;pointer-events:none;transition:background .25s ease}.acr-select-backdrop.visible{background:var(--shadow-tint);pointer-events:all}.acr-select-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1001;display:flex;flex-direction:column;max-height:calc(var(--vh, 1vh) * 70);background:var(--surface-overlay);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-overlay);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.acr-select-sheet.open{transform:translateY(0)}.acr-select-sheet .handle{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:var(--space-3) auto var(--space-2);flex-shrink:0}.acr-select-sheet .title{color:var(--text-secondary);font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-4) var(--space-2)}.acr-select-sheet .acr-select-option{padding:var(--space-3) var(--space-4);min-height:52px}.acr-button--circle{border-radius:50%;padding:0;flex-shrink:0}.acr-switch{position:relative;display:inline-flex;align-items:center;padding:2px;border:none;border-radius:999px;background:var(--border-strong);cursor:pointer;box-sizing:border-box;flex-shrink:0;transition:background .2s ease}.acr-switch.checked{background:var(--accent-500)}.acr-switch:disabled{opacity:.5;cursor:not-allowed}.acr-switch:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.acr-switch .acr-switch-handle{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--field-bg);color:var(--text-secondary);box-shadow:var(--shadow-card);transition:transform .2s cubic-bezier(.32,.72,0,1),color .2s ease}.acr-switch.checked .acr-switch-handle{color:var(--text-accent)}.acr-radio{position:relative;border-radius:50%;border:2px solid var(--border-strong);background:var(--field-bg);box-sizing:border-box;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,transform .1s cubic-bezier(.34,1.56,.64,1)}.acr-radio:hover:not(.disabled){border-color:var(--border-focus)}.acr-radio:active:not(.disabled){transform:scale(.92)}.acr-radio.checked{border-color:var(--accent-500)}.acr-radio .dot{width:50%;height:50%;border-radius:50%;background:var(--accent-500);transform:scale(0);opacity:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .15s ease}.acr-radio.checked .dot{transform:scale(1);opacity:1}.acr-radio .ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);background:var(--accent-300);pointer-events:none;opacity:0}.acr-radio .ripple.active{animation:acr-radio-ripple .3s ease-out forwards}@keyframes acr-radio-ripple{0%{width:0;height:0;opacity:.3}to{width:48px;height:48px;opacity:0}}.auth-tone--accent{--auth-tone-fg: var(--text-accent);--auth-tone-bg: var(--surface-selected)}.auth-tone--success{--auth-tone-fg: var(--success);--auth-tone-bg: var(--success-bg)}.auth-tone--danger{--auth-tone-fg: var(--danger);--auth-tone-bg: var(--danger-bg)}.auth-tone--warning{--auth-tone-fg: var(--warning);--auth-tone-bg: var(--warning-bg)}.auth-tone--info{--auth-tone-fg: var(--info);--auth-tone-bg: var(--info-bg)}.auth-container-wrapper{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4);box-sizing:border-box}.auth-callback{min-height:calc(var(--vh, 1vh) * 100);display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4);box-sizing:border-box;background:var(--surface)}.auth-card{position:relative}.auth-card__close{position:absolute;top:var(--space-3);right:var(--space-3)}.auth-content{width:100%}.auth-view{display:flex;flex-direction:column;gap:var(--space-4);width:100%;margin:0}.auth-back{align-self:flex-start}.auth-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding-block:var(--space-2)}.auth-hero h1,.auth-hero p{margin:0}.auth-hero__badge{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:var(--space-2);color:var(--auth-tone-fg);background:var(--auth-tone-bg)}.auth-logo{width:96px;max-width:40%;height:auto;margin-bottom:var(--space-2)}.auth-email{color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.auth-fields{display:flex;flex-direction:column;gap:var(--space-3)}.auth-row--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.auth-row--end{display:flex;justify-content:flex-end}.auth-field-action{width:28px;height:28px;padding:0;border:none;background:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color .15s ease}.auth-field-action:hover,.auth-field-action[aria-pressed=true]{color:var(--text-primary)}.auth-link{background:none;border:none;padding:0;font:inherit;font-size:var(--font-small);color:var(--text-accent);border-radius:var(--radius-sm);cursor:pointer}.auth-link:hover{text-decoration:underline}.auth-link--strong{font-weight:600}.auth-status{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--auth-tone-bg);color:var(--text-primary);font-size:var(--font-small);line-height:1.4}.auth-status__glyph{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--auth-tone-fg);padding-top:1px}.auth-note{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken)}.auth-note__glyph{width:20px;flex-shrink:0;display:flex;justify-content:center;color:var(--text-secondary);padding-top:2px}.auth-note__title{margin-bottom:var(--space-1)}.auth-note__text{color:var(--text-secondary);font-size:var(--font-small);line-height:1.5}.auth-steps{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:var(--space-1)}.auth-roles{border:none;margin:0;padding:0;min-width:0}.auth-roles__legend{padding:0;margin-bottom:var(--space-2);font-size:var(--font-small);color:var(--text-secondary)}.auth-roles__options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.auth-role{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:none;border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-secondary);font:inherit;font-size:var(--font-small);cursor:pointer;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease}.auth-role:hover{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-strong)}.auth-role.is-selected{background:var(--surface-selected);color:var(--text-accent);font-weight:600;box-shadow:inset 0 0 0 2px var(--border-focus)}.auth-roles__hint{margin-top:var(--space-2)}.auth-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.auth-link:focus-visible,.auth-field-action:focus-visible,.auth-role:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.auth-spin{animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-spin{animation:none}}@media(max-width:380px){.auth-container-wrapper,.auth-callback{padding:var(--space-3) var(--space-2)}.auth-row--split{grid-template-columns:1fr}}.account-page{display:flex;flex-direction:column;gap:24px;max-width:650px}.account-section{display:flex;flex-direction:column;gap:12px}.account-divider{height:1px;width:100%}.profile-card{display:flex;align-items:center;gap:20px;padding:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar-inner{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.profile-card-info{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.settings-row-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.settings-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;overflow-wrap:anywhere}.settings-row-value-line{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.settings-badge{font-size:var(--font-caption);font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.account-page .dialog-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-page .dialog-container{width:min(400px,calc(100vw - 40px))}.account-page .dialog-content{display:flex;flex-direction:column;gap:16px;padding:20px}.account-page .dialog-field{display:flex;flex-direction:column;gap:6px}.account-page .dialog-field-divider{height:1px;background:#80808026}.account-page .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.account-page .deletion-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:8px;border:1px solid rgba(255,179,32,.45);background:#ffb3201a}.account-page .deletion-banner-info{display:flex;flex-direction:column;gap:3px;min-width:0}@media(max-width:640px){.account-page .deletion-banner{flex-direction:column;align-items:stretch;gap:12px}}.account-page .delete-blockers{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;list-style:none;border-radius:6px;background:#80808014}.account-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:3000;background:#248046;padding:12px 24px;border-radius:8px;animation:toastIn .2s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:640px){.account-page{gap:20px}.profile-card{padding:16px;gap:14px}.profile-avatar{width:64px;height:64px}.profile-avatar-inner{width:32px;height:32px}.settings-row-inner{padding:12px}}.profile-page{display:flex;flex-direction:column;gap:24px;max-width:650px}.profile-section{display:flex;flex-direction:column;gap:12px}.identity-card{display:flex;align-items:center;gap:20px;padding:20px}.avatar-well{position:relative;width:88px;height:88px;border-radius:50%;flex-shrink:0;overflow:hidden;cursor:pointer;border:none;padding:0;background:transparent}.avatar-well:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;background:#0000008c;color:#fff;opacity:0;transition:opacity .15s ease-out}.avatar-well:hover .avatar-overlay,.avatar-well:focus-visible .avatar-overlay{opacity:1}.avatar-overlay-label{font-size:var(--font-caption);font-weight:600}.avatar-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073}.identity-info{display:flex;flex-direction:column;gap:6px;min-width:0}.identity-actions{display:flex;gap:8px;margin-top:2px}.bio-panel{display:flex;flex-direction:column;gap:10px;padding:14px}.bio-input{width:100%;min-height:84px;resize:vertical;padding:10px 12px;border-radius:6px;border:1px solid rgba(128,128,128,.25);background:#8080800f;color:inherit;font:inherit;font-size:.875rem;line-height:1.5}.bio-input:focus{outline:none;border-color:var(--text-accent)}.bio-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.bio-count{font-size:var(--font-caption);font-variant-numeric:tabular-nums}.visibility-options{display:flex;flex-direction:column;gap:8px}.visibility-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;text-align:left;transition:background-color .15s,border-color .15s}.visibility-option:hover{background-color:var(--surface-hover)}.visibility-option:focus-visible{outline:2px solid var(--text-accent);outline-offset:-2px}.visibility-option.selected{border-color:var(--text-accent);background-color:var(--surface-selected)}.visibility-mark{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;margin-top:1px;border-radius:50%;border:2px solid rgba(128,128,128,.45)}.visibility-option.selected .visibility-mark{border-color:var(--text-accent);background-color:var(--text-accent);color:#fff}.visibility-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:3000;padding:12px 24px;border-radius:8px;animation:profileToastIn .2s ease-out}.profile-toast.ok{background:#248046}.profile-toast.bad{background:#d33535}@keyframes profileToastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.profile-toast{animation:none}.avatar-overlay{transition:none}}@media(max-width:640px){.profile-page{gap:20px}.identity-card{padding:16px;gap:14px}.avatar-well{width:72px;height:72px}}.privacy-page{display:flex;flex-direction:column;gap:24px;max-width:650px}.privacy-section{display:flex;flex-direction:column;gap:12px}.privacy-intro{max-width:60ch}.privacy-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.privacy-row-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.privacy-export{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.privacy-export-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.privacy-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:3000;padding:12px 24px;border-radius:8px;animation:privacyToastIn .2s ease-out}.privacy-toast.ok{background:#248046}.privacy-toast.bad{background:#d33535}@keyframes privacyToastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.privacy-toast{animation:none}}@media(max-width:640px){.privacy-page{gap:20px}.privacy-row,.privacy-export{padding:12px}.privacy-export{flex-direction:column;align-items:stretch;gap:12px}}.subscriptions-page{display:flex;flex-direction:column;gap:16px;max-width:750px}.subscriptions-loading{padding:40px;text-align:center}.section-heading{margin-top:8px}.current-plan-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.current-plan-info{display:flex;flex-direction:column;gap:2px}.billing-toggle-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 0}.save-badge{background:var(--success-bg);color:var(--success);font-size:.6875rem;font-weight:700;padding:3px 8px;border-radius:10px}.plan-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:640px){.plan-cards-grid{grid-template-columns:1fr}}.plan-card{display:flex;flex-direction:column;padding:16px;gap:12px;min-height:280px}.plan-card-header{display:flex;align-items:center;gap:8px}.plan-card-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-primary)}.plan-title{display:flex;align-items:center;gap:8px}.current-badge{background:var(--success-bg);color:var(--success);font-size:.625rem;font-weight:700;padding:2px 8px;border-radius:8px;margin-left:auto}.plan-card-price{display:flex;align-items:baseline;gap:4px}.plan-card-allowance{padding:6px 8px;border-radius:6px;background:var(--surface-sunken)}.plan-card-features{display:flex;flex-direction:column;gap:6px;flex:1}.feature-row{display:flex;align-items:flex-start;gap:8px}.feature-check{display:flex;align-items:center;color:var(--success);flex-shrink:0;margin-top:3px}.plan-card-cta{margin-top:auto;padding-top:8px}.cancel-link-row{text-align:center}.payment-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px}.payment-card-info{display:flex;align-items:center;gap:12px}.card-brand-chip{display:flex;align-items:center;color:var(--text-secondary)}.payment-card-details{display:flex;flex-direction:column;gap:1px}.invoice-table{padding:4px 0}.invoice-header-row{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(128,128,128,.15)}.invoice-row{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(128,128,128,.08)}.invoice-row:last-child{border-bottom:none}.status-badge{display:inline-block;font-size:.6875rem;font-weight:600;padding:2px 8px;border-radius:8px;text-transform:capitalize}@media(max-width:640px){.invoice-header-row{display:none}.invoice-row{flex-wrap:wrap;gap:4px}}.empty-state{padding:24px;text-align:center}.text-link-btn{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px}.text-link-btn:hover{background:#80808014}.subscriptions-page .dialog-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.subscriptions-page .dialog-container{width:min(400px,calc(100vw - 40px))}.subscriptions-page .dialog-content{padding:20px}.subscriptions-page .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.settings-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:3000;background:#248046;padding:12px 24px;border-radius:8px;box-shadow:0 4px 12px #0000004d}.usage-page{display:flex;flex-direction:column;gap:24px;max-width:650px}.usage-section{display:flex;flex-direction:column;gap:12px}.usage-intro{max-width:60ch}.usage-meter{display:flex;flex-direction:column;gap:8px;padding:14px}.usage-meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.usage-meter-count{font-variant-numeric:tabular-nums;white-space:nowrap}.usage-meter-track{height:8px;border-radius:4px;background:var(--surface-sunken);overflow:hidden}.usage-meter-fill{height:100%;border-radius:4px;background:var(--text-accent);transition:width .2s ease-out}.usage-meter-fill.full{opacity:.75}.usage-history{display:flex;align-items:flex-end;gap:4px;height:96px;padding:14px}.usage-bar-col{flex:1;min-width:4px;display:flex;align-items:flex-end;height:100%}.usage-bar{width:100%;min-height:2px;border-radius:3px 3px 0 0;background:var(--text-accent);opacity:.5}.usage-bar.today{opacity:1}.usage-history-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px 12px}.usage-empty{padding:24px 14px;text-align:center}@media(max-width:640px){.usage-page{gap:20px}.usage-meter,.usage-history{padding:12px}.usage-history{height:80px}}.settings-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--shadow-tint);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s ease-out}.settings-overlay.open{opacity:1;pointer-events:auto}.settings-popup{display:flex;flex-direction:column;width:100%;max-width:900px;height:100%;max-height:700px;transform:scale(.9);opacity:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .2s ease-out}.settings-popup.open{transform:scale(1);opacity:1}.settings-layout{display:flex;flex:1 1 0%;min-height:0;overflow:hidden}.settings-sidebar{width:220px;min-width:220px;display:flex;flex-direction:column;padding:16px;border-right:1px solid rgba(128,128,128,.15);gap:12px}.settings-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px}.settings-title{display:flex;align-items:center;gap:8px}.settings-close-btn{background:none;border:none;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;opacity:.6;transition:opacity .15s,background-color .15s}.settings-close-btn:hover{opacity:1;background-color:#8080801a}.settings-sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.settings-nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px 0 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background-color .15s;text-align:left}.settings-nav-item:hover:not(.active){background-color:var(--surface-hover)}.settings-nav-item:focus{outline:none!important}.settings-nav-accent{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:calc(100% - 8px);border-radius:1.5px}.settings-nav-icon{display:flex;align-items:center;flex-shrink:0}.settings-content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.settings-content-scroll{flex:1;min-height:0;overflow-y:auto;padding:24px 24px 24px 16px}.settings-content-scroll::-webkit-scrollbar{width:6px}.settings-content-scroll::-webkit-scrollbar-track{background:transparent}.settings-content-scroll::-webkit-scrollbar-thumb{background:#80808040;border-radius:3px}.settings-content-scroll::-webkit-scrollbar-thumb:hover{background:#80808066}@keyframes settings-tab-dot-in{0%{opacity:0;transform:scale(.4)}to{opacity:.65;transform:scale(1)}}@keyframes settings-tab-dot-out{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(.4)}}@media(max-width:767px){.settings-overlay{padding:0}.settings-popup{max-width:100vw;max-height:calc(var(--vh, 1vh) * 100);transform:translateY(24px) scale(.98);border-radius:0!important}.settings-popup.open{transform:translateY(0) scale(1)}.settings-layout{flex-direction:column}.settings-sidebar{display:none}.settings-content{flex:1;min-height:0}.settings-content-scroll{padding:16px 16px 8px}.settings-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.settings-tab-bar{position:relative;display:flex;flex-direction:row;align-items:stretch;border-top:1px solid var(--border-subtle);padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.settings-tab-bar:before,.settings-tab-bar:after{content:"";position:sticky;z-index:1;align-self:center;flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--text-secondary);pointer-events:none;opacity:0;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(nearest inline)}.settings-tab-bar:before{left:6px;margin-right:-5px;animation-name:settings-tab-dot-in;animation-range:0px 16px}.settings-tab-bar:after{right:6px;margin-left:-5px;animation-name:settings-tab-dot-out;animation-range:calc(100% - 16px) 100%}.settings-tab-bar::-webkit-scrollbar{display:none}.settings-tab-item{position:relative;flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 10px;border:none;background:transparent;cursor:pointer;transition:background-color .15s;-webkit-tap-highlight-color:transparent}.settings-tab-item:focus{outline:none}.settings-tab-item:active{background-color:var(--surface-hover)}.settings-tab-item.active:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:3px;border-radius:3px 3px 0 0;background-color:var(--text-accent)}.settings-tab-icon{display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.settings-tab-item.active .settings-tab-icon{transform:scale(1.15)}.settings-tab-label{font-size:var(--font-caption);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.6;transition:opacity .15s}.settings-tab-item.active .settings-tab-label{opacity:1;font-weight:600}}@media(min-width:768px){.settings-mobile-header,.settings-tab-bar{display:none}}.sidebar{--sb-row-h: 30px;--sb-radius: 8px;--sb-inset: 6px;--sb-pad-x: 8px;--sb-indent: 28px;--sb-gap: 2px;--sb-dur: .12s;display:flex;flex-direction:column;padding:var(--sb-inset);overflow:hidden;flex:1;min-height:0}.sidebar__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--sb-gap)}.sidebar__icon{flex-shrink:0;display:block}.sidebar__loading{display:flex;flex-direction:column;gap:var(--sb-gap)}.sidebar__skeleton{height:var(--sb-row-h);border-radius:var(--sb-radius);background:var(--border-subtle);animation:sidebar-pulse 1.4s ease-in-out infinite}.sidebar__skeleton--short{width:60%}@keyframes sidebar-pulse{0%,to{opacity:.4}50%{opacity:.8}}.sidebar__error{display:flex;align-items:center;gap:var(--sb-pad-x);min-height:var(--sb-row-h);padding:0 var(--sb-pad-x);border-radius:var(--sb-radius);font-size:var(--font-small);color:var(--danger)}.sidebar__empty{padding:20px var(--sb-pad-x);font-size:var(--font-caption);color:var(--text-muted);text-align:center}.sidebar__nav{display:flex;flex-direction:column;gap:var(--sb-gap);flex-shrink:0;padding-bottom:var(--sb-inset);margin-bottom:var(--sb-inset);border-bottom:1px solid var(--border-subtle)}.sidebar__nav-link{display:flex;align-items:center;gap:var(--sb-pad-x);height:var(--sb-row-h);padding:0 var(--sb-pad-x);border-radius:var(--sb-radius);border:none;background:none;cursor:pointer;font-size:var(--font-small);font-weight:400;color:var(--text-primary);width:100%;text-align:left;transition:background var(--sb-dur)}.sidebar__nav-link:hover{background:var(--surface-hover)}.sidebar__nav-link--active{background:var(--surface-selected);font-weight:500}.sidebar__nav-link-icon{width:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-small);line-height:1}.sidebar__nav-link-label{white-space:nowrap}.sidebar__section{flex-shrink:0;margin-bottom:var(--sb-inset)}.sidebar__section-label{display:flex;align-items:center;gap:6px;height:22px;padding:0 var(--sb-pad-x);font-size:var(--font-caption);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sidebar__badge{background:var(--warning-bg);color:var(--warning);font-size:var(--font-caption);font-weight:500;border-radius:999px;padding:0 6px;line-height:1.6;letter-spacing:0}.sidebar__invite-summary{display:flex;align-items:center;gap:var(--sb-pad-x);width:100%;height:var(--sb-row-h);padding:0 var(--sb-pad-x);margin-bottom:var(--sb-inset);flex-shrink:0;border:none;border-radius:var(--sb-radius);background:var(--warning-bg);color:var(--warning);font-size:var(--font-small);cursor:pointer;text-align:left;transition:opacity var(--sb-dur)}.sidebar__invite-summary:hover{opacity:.85}.sidebar__invite-summary-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__invite{display:flex;align-items:center;gap:6px;min-height:var(--sb-row-h);padding:5px var(--sb-pad-x);border-radius:var(--sb-radius);background:var(--surface-raised);margin-bottom:var(--sb-gap)}.sidebar__invite--group{background:var(--success-bg)}.sidebar__invite-body{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar__invite-name{font-size:var(--font-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__invite--group .sidebar__invite-name{color:var(--success)}.sidebar__invite-label{font-size:var(--font-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__invite--group .sidebar__invite-label{color:var(--success)}.sidebar__invite-actions{display:flex;gap:4px;flex-shrink:0}.sidebar__invite-btn{width:22px;height:22px;border-radius:6px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--sb-dur)}.sidebar__invite-btn:disabled{opacity:.4;cursor:default}.sidebar__invite-btn:hover:not(:disabled){opacity:.8}.sidebar__invite-btn--accept{background:var(--success);color:var(--text-inverse)}.sidebar__invite-btn--decline{background:var(--danger);color:var(--text-inverse)}.sidebar__group{display:flex;flex-direction:column;gap:var(--sb-gap)}.sidebar__group--solo{margin-top:var(--sb-inset);padding-top:var(--sb-inset);border-top:1px solid var(--border-subtle)}.sidebar__group-header{display:flex;align-items:center;gap:6px;height:var(--sb-row-h);padding:0 var(--sb-pad-x);border-radius:var(--sb-radius);transition:background var(--sb-dur)}.sidebar__group-header:hover{background:var(--surface-hover)}.sidebar__group-header--selected,.sidebar__group-header--selected:hover{background:var(--surface-selected)}.sidebar__group-name-btn{flex:1;display:flex;align-items:center;gap:6px;height:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left;min-width:0}.sidebar__group-name-btn--disabled{cursor:default}.sidebar__group-icon{width:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.sidebar__group-name{font-size:var(--font-small);font-weight:500;color:var(--text-primary);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__group-count{font-size:var(--font-caption);color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.sidebar__chevron{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);flex-shrink:0;border-radius:4px;transition:transform .15s ease,color var(--sb-dur);transform:rotate(0)}.sidebar__chevron--open{transform:rotate(90deg)}.sidebar__chevron:hover{color:var(--text-primary)}.sidebar__members{display:flex;flex-direction:column;gap:var(--sb-gap)}.sidebar__member-empty{display:flex;align-items:center;height:var(--sb-row-h);padding:0 var(--sb-pad-x) 0 var(--sb-indent);font-size:var(--font-caption);color:var(--text-muted)}.sidebar__member-role-icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--text-muted)}.sidebar__member-row{display:flex;align-items:center;gap:var(--sb-pad-x);height:var(--sb-row-h);padding:0 var(--sb-pad-x) 0 var(--sb-indent);border-radius:var(--sb-radius);background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background var(--sb-dur);position:relative}.sidebar__member-row:hover{background:var(--surface-hover)}.sidebar__member-row--selected,.sidebar__member-row--selected:hover{background:var(--surface-selected)}.sidebar__member-row--attention:before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:2px;height:14px;border-radius:999px;background:var(--danger)}.sidebar__member-avatar{width:22px;height:22px;border-radius:6px;background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--font-caption);font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__member-info{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.sidebar__member-name{font-size:var(--font-small);color:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__member-meta{font-size:var(--font-caption);color:var(--text-muted);flex-shrink:0}.sidebar__member-score{font-size:var(--font-caption);font-weight:500;flex-shrink:0;font-variant-numeric:tabular-nums}.sidebar__footer{flex-shrink:0;padding-top:var(--sb-inset);margin-top:var(--sb-inset);border-top:1px solid var(--border-subtle)}.sidebar__new-group-btn{display:flex;align-items:center;gap:var(--sb-pad-x);width:100%;height:var(--sb-row-h);padding:0 var(--sb-pad-x);border-radius:var(--sb-radius);border:none;background:none;color:var(--text-secondary);font-size:var(--font-small);cursor:pointer;text-align:left;transition:background var(--sb-dur),color var(--sb-dur)}.sidebar__new-group-btn:hover{background:var(--surface-hover);color:var(--text-primary)}@media(max-width:767px){.sidebar{--sb-row-h: 40px;--sb-indent: 34px;padding-bottom:24px}.sidebar__member-avatar{width:26px;height:26px}.sidebar__chevron{width:22px;height:22px}.sidebar__invite-btn{width:28px;height:28px}}.gm__backdrop{position:fixed;inset:0;background:var(--shadow-tint);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:gm-fade-in .12s ease}@keyframes gm-fade-in{0%{opacity:0}to{opacity:1}}.gm__modal{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:14px;width:100%;max-width:420px;box-shadow:var(--shadow-overlay);animation:gm-slide-up .15s ease;overflow:hidden}@keyframes gm-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.gm__header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 0}.gm__title{font-size:var(--font-body);font-weight:700;color:var(--text-primary)}.gm__close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;transition:background .1s}.gm__hint{margin-top:12px;font-size:var(--font-caption);color:var(--text-muted);padding:8px 10px;background:var(--surface-hover);border-radius:6px}.gm__close:hover{background:var(--surface-sunken)}.gm__body{padding:16px 18px;display:flex;flex-direction:column;gap:6px}.gm__label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.gm__input{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-primary);font-size:var(--font-small);outline:none;box-sizing:border-box;transition:border-color .12s}.gm__input:focus{border-color:var(--border-focus)}.gm__hint{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--font-caption);color:var(--text-secondary);line-height:1.5}.gm__type-row{display:flex;gap:8px}.gm__type-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-primary);font-size:var(--font-caption);font-weight:500;cursor:pointer;transition:border-color .12s,background .12s}.gm__type-btn--active{border-color:var(--border-strong);background:var(--surface-selected);font-weight:700}.gm__error{margin:0;font-size:var(--font-caption);color:var(--danger);padding:6px 10px;background:var(--danger-bg);border-radius:6px}.gm__result{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--font-caption);padding:7px 10px;border-radius:6px;font-weight:500}.gm__result--ok{color:var(--success);background:var(--success-bg)}.gm__result--err{color:var(--danger);background:var(--danger-bg)}.gm__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--border-subtle)}.gm__btn{padding:8px 18px;border-radius:8px;border:none;font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s,opacity .12s}.gm__btn:disabled{opacity:.5;cursor:not-allowed}.gm__btn--cancel{background:var(--surface-sunken);color:var(--text-secondary)}.gm__btn--cancel:hover:not(:disabled){background:var(--border-subtle)}.gm__btn--confirm{background:var(--action-bg);color:var(--action-text)}.gm__btn--confirm:hover:not(:disabled){background:var(--action-bg-hover)}.gm__modal--settings{max-width:480px;max-height:calc(var(--vh, 1vh) * 80);display:flex;flex-direction:column}.gm__tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.gm__tab{flex:1;padding:9px 12px;background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.gm__body--settings{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.gm__btn--sm{padding:6px 12px;font-size:var(--font-caption);white-space:nowrap;flex-shrink:0}.gm__danger-zone{margin-top:4px;padding-top:14px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:12px}.gm__danger-zone__label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#dc2626}.gm__btn--danger-ghost{background:none;color:#ef4444;border:1px solid #fecaca;border-radius:7px;padding:7px 14px;font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s,color .12s;align-self:flex-start}.gm__btn--danger-ghost:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.gm__btn--danger{background:#ef4444;color:#fff;border:none;border-radius:7px;padding:7px 14px;font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s;align-self:flex-start}.gm__btn--danger:hover:not(:disabled){background:#dc2626}.gm__btn--danger:disabled{opacity:.5;cursor:not-allowed}.gm__delete-warning{font-size:var(--font-small);color:#7f1d1d;line-height:1.5;margin:0}.gm__member-list{display:flex;flex-direction:column;gap:4px}.gm__member-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:8px;transition:background .1s}.gm__member-row:hover{background:var(--tutor_folder_row_bg_hover)}.gm__member-avatar{width:32px;height:32px;border-radius:8px;background:var(--tutor_student_row_avatar_bg);color:var(--tutor_student_row_text_name);font-size:var(--font-small);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gm__member-info{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.gm__member-you{font-size:var(--font-caption);color:var(--tutor_eventcard_text_meta);font-weight:400}.gm__role-badge{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;flex-shrink:0}.gm__role-badge--owner{background:#fef9c3;color:#a16207}.gm__role-badge--admin{background:#ede9fe;color:#6d28d9}.gm__role-badge--member{background:#f1f5f9;color:#64748b}.gm__member-actions{display:flex;gap:4px;flex-shrink:0}.gm__modal--settings{max-width:520px;width:100%;max-height:calc(var(--vh, 1vh) * 82);display:flex;flex-direction:column}.gm__tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:0 4px;gap:4px}.gm__tab{display:flex;align-items:center;gap:6px;padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px;white-space:nowrap}.gm__tab:hover{color:var(--text-primary)}.gm__tab--active{color:var(--accent-500);border-bottom-color:var(--accent-500);font-weight:600}.gm__tab-count{font-size:var(--font-caption);font-weight:700;background:var(--surface-sunken);color:var(--text-secondary);padding:1px 6px;border-radius:999px}.gm__tab-count--pending{background:var(--warning-bg);color:var(--warning)}.gm__body--settings{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px;padding:18px 20px}.gm__label{font-size:var(--font-caption);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);margin-bottom:6px;display:block}.gm__input-row{display:flex;gap:8px;align-items:center}.gm__btn--sm{padding:7px 14px;font-size:var(--font-caption);white-space:nowrap;flex-shrink:0}.gm__danger-zone{margin-top:4px;padding:14px 16px;border:1px solid var(--danger);border-radius:10px;background:var(--danger-bg);display:flex;flex-direction:column;gap:12px}.gm__danger-zone__label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--danger)}.gm__btn--danger{background:var(--danger);color:#fff;border:none;border-radius:7px;padding:7px 14px;font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s;align-self:flex-start}.gm__btn--danger:hover:not(:disabled){background:var(--danger);filter:brightness(.9)}.gm__btn--danger:disabled{opacity:.45;cursor:not-allowed}.gm__delete-warning{font-size:var(--font-small);color:var(--danger);line-height:1.55;margin:0}.gm__delete-actions{display:flex;gap:8px;justify-content:flex-end}.gm__delete-confirm{display:flex;flex-direction:column;gap:10px}.gm__member-list{display:flex;flex-direction:column;gap:2px}.gm__members-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;color:var(--text-secondary);font-size:var(--font-small)}.gm__members-empty span{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.gm__members-section-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:12px 4px 6px;opacity:.7}.gm__member-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;transition:background .1s}.gm__member-row:hover{background:var(--surface-hover)}.gm__member-row--invited{opacity:.75}.gm__member-avatar{width:34px;height:34px;border-radius:9px;background:var(--surface-sunken);color:var(--text-primary);font-size:var(--font-small);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gm__member-avatar--invited{opacity:.6;background:var(--surface-hover)}.gm__member-info{flex:1;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gm__member-name{font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gm__member-you{font-size:var(--font-caption);color:var(--text-secondary);font-weight:400}.gm__role-badge{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;flex-shrink:0}.gm__role-badge--owner{background:var(--warning-bg);color:var(--warning)}.gm__role-badge--admin{background:var(--accent-100);color:var(--accent-700)}.gm__role-badge--member{background:var(--surface-sunken);color:var(--text-secondary)}.gm__role-badge--invited{background:var(--warning-bg);color:var(--warning)}.gm__member-actions{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.gm__member-btn{padding:4px 10px;border:1px solid var(--border-subtle);border-radius:6px;background:none;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap}.gm__member-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.gm__member-btn:disabled{opacity:.4;cursor:not-allowed}.gm__member-btn--danger{color:var(--danger);border-color:var(--danger)}.gm__member-btn--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.group-view__settings-btn{background:none;border:1px solid var(--border-subtle);border-radius:8px;padding:6px 10px;font-size:var(--font-body);cursor:pointer;color:var(--text-secondary);transition:background .1s,color .1s;line-height:1}.flex-rich-container{display:flex;flex-direction:column;gap:var(--flex-field-gap, .5rem);width:100%;container-type:inline-size;container-name:flexrich}.flex-rich-label{font-weight:500;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.flex-rich-field{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;box-sizing:border-box}.flex-rich-field.disabled{opacity:.5;pointer-events:none}.flex-rich-toolbar{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid;flex-wrap:wrap}.flex-rich-toolbar-divider{width:1px;height:18px;margin:0 4px;opacity:.25}.flex-rich-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:var(--font-small);line-height:1;color:inherit;transition:background .15s ease,border-color .15s ease;padding:0}.flex-rich-toolbar-btn:hover{border-color:currentColor;opacity:.8}.flex-rich-toolbar-btn.active{border-color:currentColor;opacity:1}.flex-rich-save-group{margin-left:auto;display:flex;align-items:center;gap:6px}.flex-rich-unsaved{font-size:var(--font-caption);opacity:.5;font-style:italic}.flex-rich-size-select{height:24px;padding:0 4px;font-size:var(--font-caption);border-radius:4px;border:1px solid;background:transparent;cursor:pointer;color:inherit;border-color:inherit}.flex-rich-editor{flex:1;padding:10px 14px;min-height:80px;box-sizing:border-box;outline:none;overflow-y:auto}.flex-rich-editor .ProseMirror{outline:none;min-height:inherit;font-size:inherit;font-family:inherit;color:inherit;line-height:1.6}.flex-rich-bubble{display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:var(--shadow-card)}.flex-rich-footer{display:flex;justify-content:flex-end;gap:12px;padding:4px 10px;font-size:var(--font-caption);border-top:1px solid;opacity:.5}.flex-rich-color-picker{position:relative}.flex-rich-color-palette{position:absolute;top:calc(100% + 4px);left:0;display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:var(--shadow-card);z-index:100;width:130px}.flex-rich-color-swatch{width:20px;height:20px;border-radius:3px;cursor:pointer;padding:0;transition:transform .1s ease}.flex-rich-color-swatch:hover{transform:scale(1.2)}.flex-rich-color-swatch.active{outline:2px solid var(--border-focus);outline-offset:1px}.flex-rich-editor .ProseMirror p{margin:0 0 .4em}.flex-rich-editor .ProseMirror p:last-child{margin-bottom:0}.flex-rich-editor .ProseMirror ul,.flex-rich-editor .ProseMirror ol{padding-left:1.4em;margin:.25em 0}.flex-rich-editor .ProseMirror li{margin:.15em 0}.flex-rich-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:.25em}.flex-rich-editor .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:6px}.flex-rich-editor .ProseMirror ul[data-type=taskList] li>label{margin-top:3px;cursor:pointer;flex-shrink:0}.flex-rich-editor .ProseMirror ul[data-type=taskList] li>div{flex:1}.flex-rich-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;color:var(--field-placeholder)}.flex-rich-editor .ProseMirror a{text-decoration:underline;cursor:pointer}@container flexrich (max-width: 599px){.flex-rich-editor{padding:10px}.flex-rich-footer{display:none}}@media(pointer:coarse){.flex-rich-toolbar{gap:4px;padding:6px}.flex-rich-toolbar-btn{width:40px;height:40px;border-radius:6px}.flex-rich-toolbar-divider{height:24px;margin:0 6px}.flex-rich-size-select{height:36px;padding:0 8px;font-size:16px}.flex-rich-toolbar-btn:hover{border-color:transparent;opacity:1}.flex-rich-toolbar-btn:active,.flex-rich-toolbar-btn.active{border-color:currentColor}.flex-rich-color-swatch:hover{transform:none}.flex-rich-bar-action{min-height:36px;padding:0 14px;font-size:var(--font-small)}}.flex-rich-sheet-title{padding:14px 16px 6px;font-size:var(--font-small);font-weight:600;opacity:.7}.flex-rich-color-sheet{display:flex;flex-wrap:wrap;gap:10px;padding:4px 16px 16px}.flex-rich-color-sheet .flex-rich-color-swatch{width:44px;height:44px;border-radius:8px}.flex-rich-header{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 8px 4px 10px;border-bottom:1px solid;box-sizing:border-box}.flex-rich-header .flex-rich-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.flex-rich-bar-action{min-height:28px;padding:0 10px;border-radius:6px;border:1px solid currentColor;background:transparent;color:inherit;font-family:inherit;font-size:var(--font-caption);cursor:pointer}.flex-rich-saved{font-size:var(--font-caption);opacity:.5}.flex-rich-accessory{display:flex;flex-direction:column;background:var(--field-bg);border-top:1px solid var(--border-subtle)}.flex-rich-accessory.pinned{position:fixed;left:0;right:0;transform:translateY(-100%);z-index:8990;background:var(--surface-overlay);box-shadow:var(--shadow-overlay)}.flex-rich-accessory.at-edge{padding-bottom:env(safe-area-inset-bottom,0px)}.flex-rich-accessory-row{display:flex;align-items:center;gap:6px;padding:6px 10px}.flex-rich-accessory-spacer{flex:1}.flex-rich-panel{display:flex;flex-direction:column;min-height:200px;max-height:calc(var(--vh, 1vh) * 55);border-top:1px solid var(--border-subtle)}.flex-rich-panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 12px 12px}.flex-rich-panel-label{margin:12px 0 6px;font-size:var(--font-caption);opacity:.55}.flex-rich-panel-row{display:flex;flex-wrap:wrap;gap:6px}.flex-rich-panel-btn{flex:1 0 auto;min-width:76px;min-height:42px;padding:0 12px;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:inherit;font-family:inherit;font-size:var(--font-small);cursor:pointer}.flex-rich-panel-btn.active{border-color:currentColor}.flex-rich-swatch-row{display:flex;flex-wrap:wrap;gap:10px}.flex-rich-swatch-row .flex-rich-color-swatch{width:40px;height:40px;border-radius:8px}.flex-rich-panel-footer{display:flex;justify-content:flex-end;gap:12px;padding:6px 12px;border-top:1px solid var(--border-subtle);font-size:var(--font-caption);opacity:.5}.flex-rich-editor.holding .flex-rich-held-selection{background:var(--flex-held-selection, rgba(120, 160, 255, .35));border-radius:2px}.flex-rich-confirm{width:100%;max-width:360px;margin:0 auto;padding:20px;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);color:var(--text-primary)}.flex-rich-confirm h3{margin:0 0 6px;font-size:var(--font-h3);font-weight:600}.flex-rich-confirm p{margin:0 0 18px;font-size:var(--font-small);color:var(--text-secondary)}.flex-rich-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.flex-rich-confirm-actions .flex-rich-bar-action{min-height:40px;padding:0 16px;font-size:var(--font-small)}.flex-rich-confirm-actions .danger{color:var(--danger)}@media(max-width:767px){.flex-rich-confirm{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}.sdm__overlay{position:fixed;inset:0;background:var(--shadow-tint);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sdm-fade .14s ease}@keyframes sdm-fade{0%{opacity:0}to{opacity:1}}.sdm__modal-wrap{width:calc(100vw - 32px);max-width:440px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;animation:sdm-rise .18s cubic-bezier(.16,1,.3,1)}@keyframes sdm-rise{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.sdm__header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.sdm__header-left{display:flex;align-items:center;gap:8px}.sdm__header-icon{display:flex;align-items:center;color:var(--text-secondary)}.sdm__close{width:30px;height:30px;border-radius:50%;border:none;background:var(--surface-hover);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:background .12s,color .12s}.sdm__close:hover{background:var(--danger-bg);color:var(--danger)}.sdm__name-wrap{padding:14px 16px 0;flex-shrink:0}.sdm__tabs{display:flex;gap:6px;padding:12px 16px 0;flex-shrink:0}.sdm__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:10px;border:1.5px solid var(--border-subtle);background:none;cursor:pointer;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);transition:all .12s}.sdm__tab:hover{background:var(--surface-hover);color:var(--text-primary)}.sdm__tab--active{background:var(--surface-selected);border-color:var(--border-strong);color:var(--text-primary);font-weight:700}.sdm__tab-icon{display:flex;align-items:center;flex-shrink:0}.sdm__body{flex:1;overflow-y:auto;min-height:0;padding:12px 0 4px}.sdm__loading,.sdm__empty{display:flex;align-items:center;justify-content:center;padding:32px 16px}.sdm__section{display:flex;flex-direction:column;padding:0 16px;gap:6px}.sdm__folder-list{display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.sdm__folder-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:8px;border:none;background:none;cursor:pointer;text-align:left;font-size:var(--font-small);color:var(--text-primary);transition:background .1s;box-sizing:border-box}.sdm__folder-item:hover{background:var(--surface-hover)}.sdm__folder-item--active{background:var(--surface-selected);font-weight:600}.sdm__folder-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.sdm__folder-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdm__group-list{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto}.sdm__group-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:none;background:none;cursor:pointer;text-align:left;transition:background .1s}.sdm__group-item:hover{background:var(--surface-hover)}.sdm__group-item--active{background:var(--surface-selected)}.sdm__group-avatar{width:30px;height:30px;border-radius:8px;background:var(--surface-sunken);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:800;flex-shrink:0}.sdm__group-item--active .sdm__group-avatar{background:var(--surface-selected);color:var(--text-primary)}.sdm__group-name{flex:1;font-size:var(--font-small);font-weight:500;color:var(--text-primary)}.sdm__radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .12s,background .12s}.sdm__radio--checked{border-color:var(--action-bg);background:var(--action-bg)}.sdm__radio-dot{width:6px;height:6px;border-radius:50%;background:var(--action-text)}.sdm__phase-list{display:flex;flex-direction:column;gap:2px}.sdm__phase-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:8px;border:none;background:none;cursor:pointer;text-align:left;font-size:var(--font-small);color:var(--text-primary);transition:background .1s}.sdm__phase-item:hover{background:var(--surface-hover)}.sdm__phase-item--active{background:var(--surface-selected);font-weight:600}.sdm__phase-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sdm__footer{display:flex;gap:8px;padding:12px 16px 16px;justify-content:flex-end;border-top:1px solid var(--border-subtle);flex-shrink:0;margin-top:4px}.cal-col-header-cell,.cal-col-slot,.cal-col-event{outline:none}.cal-col-header-cell:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-col-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.cal-col-time-gutter{width:52px;flex-shrink:0}.cal-col-time-axis{width:52px;flex-shrink:0;position:relative;-webkit-user-select:none;user-select:none}.cal-col-hour-label{display:flex;align-items:flex-start;justify-content:center;padding:0 8px;font-size:var(--font-caption);color:var(--text-secondary);opacity:.55;box-sizing:border-box;transform:translateY(-7px)}.cal-col-headers{display:flex;flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.cal-col-header-cell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;gap:3px;cursor:pointer;background:var(--surface);border-left:1px solid var(--border-subtle);transition:background .12s}.cal-col-header-cell:first-of-type{border-left:none}.cal-col-header-cell:hover{background:var(--surface-hover)}.cal-col-header-cell--selected{background:var(--surface-selected)}.cal-col-header-cell--weekend{background:var(--surface-sunken)}.cal-col-header-cell--weekend:hover{background:var(--surface-hover)}.cal-col-header-day{font-size:var(--font-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;opacity:.55}.cal-col-header-date{font-size:var(--font-h2);font-weight:700;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-secondary)}.cal-col-header-date--today{background:var(--action-bg);color:var(--action-text)}.cal-col-body{display:flex;flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.cal-col-body::-webkit-scrollbar{width:6px}.cal-col-body::-webkit-scrollbar-track{background:transparent}.cal-col-body::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.cal-col-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.cal-col-day{flex:1;position:relative;border-left:1px solid var(--border-subtle);min-width:0}.cal-col-day--weekend{background:var(--surface-sunken)}.cal-col-slot{position:absolute;left:0;right:0;cursor:pointer;z-index:1;transition:background .1s}.cal-col-slot:hover{background:var(--surface-hover)}.cal-col-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border-subtle);pointer-events:none;z-index:2}.cal-col-half-line{position:absolute;left:0;right:0;height:1px;background:var(--border-subtle);opacity:.4;pointer-events:none;z-index:2}.cal-col-now-line{position:absolute;left:0;right:0;height:2px;background:var(--text-accent);pointer-events:none;z-index:10}.cal-col-now-dot{position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--text-accent)}.cal-col-event{position:absolute;border-radius:5px;padding:3px 6px;cursor:pointer;overflow:hidden;z-index:5;box-sizing:border-box;transition:filter .1s,transform .08s}.cal-col-event:hover{filter:brightness(1.08);transform:scaleX(.97);z-index:6}.cal-col-event__title{font-size:var(--font-caption);font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.cal-col-event__time{font-size:var(--font-caption);color:#ffffffd1;margin-top:1px;line-height:1.2}@container calendar (max-width: 599px){.cal-col-time-gutter,.cal-col-time-axis{width:36px}.cal-col-header-cell{padding:6px 2px}.cal-col-header-date{font-size:var(--font-body);width:26px;height:26px}}.cal-jump-picker__year-btn,.cal-jump-picker__month-btn{outline:none}.cal-jump-backdrop{position:fixed;inset:0;z-index:400}.cal-jump-picker{position:absolute;top:calc(100% + 6px);left:0;z-index:401;width:240px;border-radius:12px;background:var(--surface-overlay);border:1px solid var(--border-subtle);box-shadow:var(--shadow-overlay);padding:10px;display:flex;flex-direction:column;gap:8px}.cal-jump-picker__year-row{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.cal-jump-picker__year{font-size:var(--font-small);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.cal-jump-picker__year-btn{background:none;border:none;cursor:pointer;font-size:var(--font-h3);padding:4px 10px;border-radius:7px;color:var(--text-accent);line-height:1;transition:background .12s}.cal-jump-picker__year-btn:hover{background:var(--surface-hover)}.cal-jump-picker__months{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.cal-jump-picker__month-btn{padding:7px 0;background:none;border:none;border-radius:7px;font-size:var(--font-caption);font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .12s,color .12s}.cal-jump-picker__month-btn:hover{background:var(--surface-hover)}.cal-jump-picker__month-btn--active{background:var(--action-bg);color:var(--action-text);font-weight:700}.cal-jump-picker__month-btn--active:hover{background:var(--action-bg-hover);color:var(--action-text)}.cal-view-switcher__btn,.cal-header__month-btn{outline:none}.cal-view-switcher__btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);flex-shrink:0;gap:10px}.cal-header__title{flex:1;min-width:0;position:relative}.cal-header__month-btn{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;background:none;border:none;padding:2px 6px 2px 2px;border-radius:7px;cursor:pointer;transition:background .12s}.cal-header__month-btn:hover{background:var(--surface-hover)}.cal-header__month{margin:0;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cal-header__month-chevron{font-size:var(--font-caption);opacity:.45;flex-shrink:0}.cal-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.cal-hamburger{font-size:var(--font-h3);padding:4px 8px;opacity:.7;flex-shrink:0}.cal-hamburger:hover{opacity:1}.cal-view-switcher{display:flex;align-items:center;gap:2px;background:var(--surface-sunken);border-radius:8px;padding:3px;flex-shrink:0}.cal-view-switcher__btn{padding:4px 10px;border:none;background:none;border-radius:6px;font-size:var(--font-small);font-weight:500;cursor:pointer;color:var(--text-primary);transition:background .12s,color .12s;white-space:nowrap}.cal-view-switcher__btn:hover{background:var(--surface-hover)}.cal-view-switcher__btn--active{background:var(--surface-selected);color:var(--text-accent)}@container calendar (max-width: 599px){.cal-header{padding:7px 8px;gap:5px}.cal-view-switcher{padding:2px;gap:1px}.cal-view-switcher__btn{padding:4px 7px}}@container calendar (max-width: 479px){.cal-header{flex-wrap:wrap;row-gap:7px}.cal-hamburger{order:0}.cal-header__title{order:1}.cal-header__actions{order:2}.cal-view-switcher{order:3;flex:1 0 100%;box-sizing:border-box}.cal-view-switcher__btn{flex:1;padding:6px 0;text-align:center}.cal-header__actions .cal-icon-btn--nav{padding:4px 9px}}.cal-scope-btn,.cal-row__main,.cal-row__solo,.cal-today-btn,.cal-toggle-all-btn,.cal-ghost-btn{outline:none}.cal-scope-btn:focus-visible,.cal-row__main:focus-visible,.cal-row__solo:focus-visible,.cal-today-btn:focus-visible,.cal-toggle-all-btn:focus-visible,.cal-ghost-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-sidebar{width:230px;max-width:600px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;padding:14px 0 8px;margin:0 auto;background:transparent;border-right:1px solid var(--border-subtle)}.cal-sidebar--in-sheet{width:100%;max-width:none;padding-top:0;margin:0;flex:1;min-height:0;height:100%}.cal-sidebar__section{padding:0 12px 14px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.cal-sidebar__section--push{margin-top:auto;border-top:1px solid var(--border-subtle);border-bottom:none;padding-top:12px}.cal-sidebar__label{font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.cal-sidebar__label--sub{margin-top:10px}.cal-sidebar__label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:6px}.cal-sidebar__list-actions{display:flex;align-items:center;gap:4px}.cal-sidebar__drawer-header{display:flex;align-items:center;justify-content:space-between;padding:22px 14px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:relative}.cal-sidebar__drawer-header:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--border-subtle);opacity:.5;pointer-events:none}.cal-scope-btn{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-radius:8px;padding:6px 8px;cursor:pointer;text-align:left;transition:background .12s}.cal-scope-btn:hover{background:var(--surface-hover)}.cal-scope-btn--active{background:var(--surface-selected)}.cal-scope-btn__icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.cal-scope-btn__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-row{display:flex;align-items:center;gap:2px;border-radius:8px;transition:background .12s}.cal-row:hover{background:var(--surface-hover)}.cal-row__main{flex:1;display:flex;align-items:center;gap:8px;min-width:0;background:none;border:none;padding:6px 8px;cursor:pointer;text-align:left}.cal-row__checkbox{width:16px;height:16px;flex-shrink:0;border-radius:4px;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cal-row__checkbox--checked{border-style:solid}.cal-row__check{display:flex;align-items:center;justify-content:center;color:var(--text-inverse)}.cal-row__glyph{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.cal-row__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-row__scope{flex-shrink:0;opacity:.55;white-space:nowrap}.cal-row__solo{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:6px;cursor:pointer;opacity:0;border-radius:6px;transition:opacity .12s,background .12s;color:var(--text-primary)}.cal-row:hover .cal-row__solo,.cal-row__solo:focus-visible{opacity:.55}.cal-row__solo:hover{opacity:1;background:var(--surface-selected)}.cal-row:not(.cal-row--checked) .cal-row__name{opacity:.55}.cal-toggle-all-btn{background:none;border:1px solid var(--border-subtle);border-radius:6px;padding:3px 8px;font-size:var(--font-caption);font-weight:600;color:var(--text-primary);cursor:pointer;opacity:.75;transition:opacity .12s,background .12s}.cal-toggle-all-btn:hover:not(:disabled){opacity:1;background:var(--surface-hover)}.cal-toggle-all-btn:disabled{opacity:.3;cursor:not-allowed}.cal-new-cal-form{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cal-new-cal-form__actions{display:flex;gap:6px;justify-content:flex-end}.cal-ghost-btn{background:none;border:1px solid var(--border-subtle);border-radius:6px;padding:4px 12px;font-size:var(--font-caption);font-weight:600;color:var(--text-primary);cursor:pointer;transition:background .12s}.cal-ghost-btn:hover{background:var(--surface-hover)}.cal-mini-nav{display:flex;align-items:center;gap:4px;margin-top:6px}.cal-today-btn{flex:1;padding:4px 0;background:none;border:1px solid var(--border-subtle);border-radius:6px;font-size:var(--font-caption);font-weight:600;cursor:pointer;color:var(--text-accent);transition:background .12s}.cal-today-btn:hover{background:var(--surface-selected)}.cal-preset-empty{opacity:.55;padding:4px 2px;line-height:1.4}.cal-preset-save-form{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cal-preset-save-form__actions{display:flex;gap:6px;justify-content:flex-end}.cal-preset-row{display:flex;align-items:center;gap:2px;border-radius:8px;padding:2px 0;transition:background .12s}.cal-preset-row:hover{background:var(--surface-hover)}.cal-preset-row__apply{flex:1;display:flex;align-items:center;gap:8px;min-width:0;background:none;border:none;padding:6px 8px;cursor:pointer;text-align:left;outline:none;border-radius:6px}.cal-preset-row__apply:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-preset-row__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.cal-preset-row__count{flex-shrink:0;background:var(--surface-sunken);border-radius:10px;padding:1px 7px;font-weight:600;opacity:.75}.cal-preset-row__icon{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px 5px;border-radius:5px;opacity:0;color:var(--text-primary);outline:none;transition:opacity .12s,background .12s}.cal-preset-row:hover .cal-preset-row__icon,.cal-preset-row__icon:focus-visible{opacity:.55}.cal-preset-row__icon:hover{opacity:1;background:var(--surface-sunken)}.cal-preset-row__icon:disabled{cursor:not-allowed}.cal-preset-row:hover .cal-preset-row__icon:disabled{opacity:.2}.cal-preset-row__icon--danger:hover{background:var(--danger-bg)}@container calendar (max-width: 599px){.cal-scope-btn,.cal-row__main{padding:13px 12px;min-height:50px;gap:10px;font-size:var(--font-body)}.cal-row__checkbox{width:20px;height:20px;border-radius:5px}.cal-row__solo{opacity:.55;padding:10px;min-width:40px}.cal-toggle-all-btn{padding:8px 13px;min-height:40px;font-size:var(--font-small)}.cal-ghost-btn{padding:10px 18px;min-height:44px;font-size:var(--font-small)}.cal-sidebar__label{font-size:var(--font-small)}.cal-today-btn{padding:8px 0;font-size:var(--font-small);min-height:40px}.cal-preset-row__apply{padding:13px 12px;min-height:50px;gap:10px;font-size:var(--font-body)}.cal-preset-row__count{font-size:var(--font-small);padding:2px 9px}.cal-preset-row__icon{opacity:.55;padding:10px;min-width:40px}}.cal-cell{outline:none}.cal-cell:focus-visible{outline:none}.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;flex-shrink:0}.cal-grid-header__cell{text-align:center;padding:8px 0 4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto;padding:0 12px 12px;gap:2px;align-content:start}.cal-cell{min-height:86px;min-width:0;border-radius:8px;padding:6px 6px 4px;cursor:pointer;transition:background .12s;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border-subtle)}.cal-cell:hover{background:var(--surface-hover)}.cal-cell--blank{cursor:default;pointer-events:none;border-color:transparent;background:transparent}.cal-cell--selected{outline:2px solid var(--border-focus);outline-offset:-2px;background:var(--surface-selected)}.cal-cell__num{font-size:var(--font-caption);font-weight:600;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;color:var(--text-secondary)}.cal-cell:hover .cal-cell__num{color:var(--text-primary)}.cal-cell__num--today,.cal-cell:hover .cal-cell__num--today{background:var(--action-bg);color:var(--action-text)}.cal-cell__events{display:flex;flex-direction:column;gap:2px;flex:1}.cal-cell__pill{border-radius:4px;padding:1px 5px;font-size:var(--font-caption);font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.cal-cell__more{font-size:var(--font-caption);opacity:.55;padding-left:2px}@container calendar (max-width: 599px){.cal-grid{padding:0 4px 8px;gap:1px}.cal-month-wrap .cal-grid{flex:none;overflow:visible}.cal-grid-header{padding:0 4px}.cal-cell{min-height:52px;padding:4px 3px 3px;border-radius:5px}.cal-cell__num{width:20px;height:20px}.cal-cell__pill{font-size:0;height:4px;padding:0;border-radius:2px;line-height:1}}.cal-upcoming{display:flex;flex-direction:column;padding:0 8px 80px;border-top:1px solid var(--border-subtle);margin-top:6px;flex-shrink:0}.cal-upcoming__heading{padding:12px 4px 6px}.cal-upcoming__label{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cal-upcoming__empty{padding:10px 4px 6px;opacity:.55}.cal-upcoming__item{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;border-radius:8px;padding:8px 6px;cursor:pointer;text-align:left;transition:background .12s;outline:none}.cal-upcoming__item:hover{background:var(--surface-hover)}.cal-upcoming__item:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-upcoming__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cal-upcoming__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cal-upcoming__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-upcoming__meta{opacity:.65}.scope-picker{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface);overflow:hidden;max-height:320px}.scope-picker__body{flex:1;min-height:0;overflow-y:auto;padding:4px 0}.scope-picker__msg{padding:12px;text-align:center}.scope-picker__section-divider{padding:10px 12px 4px;margin-top:4px;border-top:1px solid var(--border-subtle)}.scope-picker__section-label{text-transform:uppercase;letter-spacing:.07em;font-weight:700;opacity:.55}.scope-picker__footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--surface-sunken);flex-shrink:0}.scope-picker__footer-text{font-weight:500}.scope-picker__clear-btn{background:none;border:none;cursor:pointer;font-size:var(--font-caption);color:var(--accent-500);padding:2px 6px;border-radius:4px;font-weight:600;outline:none;transition:background .12s}.scope-picker__clear-btn:hover{background:var(--accent-100)}.scope-picker__clear-btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.scope-list{padding:2px 4px;border-radius:6px}.scope-list--selected{background:var(--surface-selected)}.scope-list--disabled{opacity:.55}.scope-list__row{display:flex;align-items:center;gap:4px;padding:4px 6px}.scope-list__chevron{background:none;border:none;cursor:pointer;font-size:var(--font-caption);width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-secondary);opacity:.5;transition:opacity .12s,background .12s;outline:none;padding:0;flex-shrink:0}.scope-list__chevron:hover:not(:disabled){opacity:1;background:var(--surface-hover)}.scope-list__chevron:disabled{cursor:default;opacity:.2}.scope-list__chevron:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.scope-list__checkbox-row{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;padding:2px 0}.scope-list__checkbox-row input[type=checkbox]{cursor:pointer;flex-shrink:0;accent-color:var(--accent-500)}.scope-list__name{flex:1;min-width:0;font-size:var(--font-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-list__count{font-size:var(--font-caption);opacity:.55;flex-shrink:0;font-variant-numeric:tabular-nums}.scope-list__subjects{padding:2px 6px 6px 30px;display:flex;flex-direction:column;gap:2px}.scope-list__msg{padding:4px 0;opacity:.6}.scope-list__all-pill{align-self:flex-start;background:none;border:1px solid var(--border-subtle);border-radius:12px;padding:3px 10px;font-size:var(--font-caption);font-weight:600;color:var(--text-primary);cursor:pointer;margin-bottom:4px;outline:none;transition:background .12s,border-color .12s,color .12s}.scope-list__all-pill:hover{background:var(--surface-hover);border-color:var(--accent-500)}.scope-list__all-pill--active{background:var(--accent-500);border-color:var(--accent-500);color:var(--text-inverse)}.scope-list__all-pill:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.scope-list__subject-row{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer}.scope-list__subject-row input[type=checkbox]{cursor:pointer;flex-shrink:0;accent-color:var(--accent-500)}.scope-list__subject-name{flex:1;min-width:0;font-size:var(--font-caption);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-list__subject-count{font-size:var(--font-caption);opacity:.5;flex-shrink:0;font-variant-numeric:tabular-nums}.cal-ghost-btn,.cal-native-input{outline:none}.cal-ghost-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-create-form{padding:10px 14px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:7px}.cal-field-label{margin-top:2px}.cal-create-form__row{display:flex;gap:8px}.cal-create-form__field{flex:1;display:flex;flex-direction:column;gap:4px}.cal-create-form__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.cal-native-input{width:100%;padding:7px 10px;border:1px solid var(--field-border);border-radius:7px;font-size:var(--font-small);font-family:inherit;background:var(--field-bg);color:var(--text-primary);box-sizing:border-box;transition:border-color .15s;appearance:none;-webkit-appearance:none}.cal-native-input:focus{border-color:var(--border-focus)}.cal-native-input--textarea{resize:vertical;min-height:56px}.cal-ghost-btn{padding:5px 12px;background:none;border:1px solid var(--border-subtle);border-radius:7px;font-size:var(--font-small);color:var(--text-primary);cursor:pointer;opacity:.7;transition:opacity .12s}.cal-ghost-btn:hover{opacity:1}.cal-scope-section{display:flex;flex-direction:column;gap:6px;margin-top:2px}.cal-scope-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:1px dashed var(--border-subtle);border-radius:7px;padding:7px 10px;font-size:var(--font-small);color:var(--text-primary);cursor:pointer;text-align:left;outline:none;transition:background .12s,border-color .12s,border-style .12s}.cal-scope-toggle:hover{background:var(--surface-hover);border-color:var(--border-strong)}.cal-scope-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cal-scope-toggle--active{border-style:solid;border-color:var(--text-accent);background:var(--surface-selected);color:var(--text-accent);font-weight:600}.cal-scope-toggle__icon{font-size:var(--font-small);flex-shrink:0;line-height:1}.cal-scope-toggle__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-scope-toggle__chevron{font-size:var(--font-caption);opacity:.55;flex-shrink:0}.cal-scope-toggle--active .cal-scope-toggle__chevron{opacity:.8}.cal-scope-picker-wrap{margin-top:2px}@container calendar (max-width: 599px){.cal-create-form{padding:15px 20px;gap:10px}.cal-field-label{font-size:var(--font-small)}.cal-native-input{padding:13px 15px;font-size:var(--font-body);min-height:50px}.cal-native-input--textarea{min-height:90px}.cal-create-form__actions{gap:10px;margin-top:4px}.cal-ghost-btn{padding:13px 18px;min-height:50px;font-size:var(--font-body)}.cal-scope-toggle{padding:13px 15px;font-size:var(--font-body);min-height:50px;gap:10px}.cal-scope-toggle__icon{font-size:var(--font-body)}}.cal-scope-panel{margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--info-bg);border:1px solid var(--info);display:flex;flex-direction:column;gap:8px}.cal-scope-panel--loading{background:var(--surface-sunken);border-color:var(--border-subtle);opacity:.7}.cal-scope-panel__row{display:flex;align-items:center;gap:8px}.cal-scope-panel__icon{font-size:var(--font-small);flex-shrink:0;line-height:1}.cal-scope-panel__summary{flex:1;min-width:0;font-weight:500}.cal-edit-btn,.cal-delete-btn,.cal-rsvp-inline__btn{outline:none}.cal-edit-btn:focus-visible,.cal-delete-btn:focus-visible,.cal-rsvp-inline__btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-event-card{width:100%}.cal-event-card__inner{display:flex;min-height:60px}.cal-event-card__bar{width:4px;flex-shrink:0;border-radius:10px 0 0 10px}.cal-event-card__body{flex:1;padding:8px 10px 8px 8px;display:flex;flex-direction:column;gap:3px}.cal-event-card__desc{margin-top:2px;line-height:1.4}.cal-event-card__title-row{display:flex;align-items:flex-start;gap:6px;justify-content:space-between}.cal-event-card__title{flex:1;min-width:0}.cal-event-card__mgmt{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-top:-2px}.cal-event-card__creator{opacity:.6;margin-bottom:1px}.cal-edit-btn,.cal-delete-btn{background:none;border:none;cursor:pointer;font-size:var(--font-small);opacity:.3;padding:2px 3px;border-radius:4px;transition:opacity .12s;line-height:1}.cal-edit-btn:hover,.cal-delete-btn:hover{opacity:1}.cal-rsvp-inline{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.cal-rsvp-inline__btns{display:flex;gap:4px}.cal-rsvp-inline__btn{flex:1;padding:5px 0;border:1px solid var(--rsvp-color, #6b7280);border-radius:7px;background:transparent;color:var(--rsvp-color, #6b7280);font-size:var(--font-caption);font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.cal-rsvp-inline__btn:hover{background:color-mix(in srgb,var(--rsvp-color, #6b7280) 12%,transparent)}.cal-rsvp-inline__btn--active{background:var(--rsvp-color, #6b7280);color:#fff}.cal-rsvp-inline__counts{display:flex;gap:10px;flex-wrap:wrap}.cal-rsvp-inline__count{font-size:var(--font-caption);font-weight:600}@container calendar (max-width: 599px){.cal-event-card{border-radius:10px}.cal-event-card__inner{min-height:88px}.cal-event-card__bar{width:5px;border-radius:10px 0 0 10px}.cal-event-card__body{padding:13px 15px 13px 13px;gap:5px}.cal-event-card__title,.cal-event-card__desc{font-size:var(--font-body)}.cal-edit-btn,.cal-delete-btn{padding:6px 8px;font-size:var(--font-body)}.cal-rsvp-inline{margin-top:12px;padding-top:12px;gap:10px}.cal-rsvp-inline__btn{padding:10px 0;font-size:var(--font-body);min-height:44px}.cal-rsvp-inline__count{font-size:var(--font-body)}}.cal-add-event-btn{outline:none}.cal-add-event-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-panel{width:272px!important;flex-shrink:0;height:100%;animation:cal-panel-in .16s ease}.cal-panel .flex-panel-container,.cal-panel .flex-panel-content,.cal-panel .flex-panel-children{height:100%}@keyframes cal-panel-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.cal-panel__inner{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-bottom:16px}.cal-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.cal-panel__empty{padding:24px 14px}.cal-panel__events{display:flex;flex-direction:column;padding:8px 10px 0;gap:8px}.cal-add-event-btn{margin:10px 14px 4px;background:none;border:1px dashed var(--border-subtle);border-radius:8px;padding:8px 12px;font-size:var(--font-small);font-weight:500;color:var(--text-accent);cursor:pointer;text-align:left;width:calc(100% - 28px);box-sizing:border-box;transition:background .12s,border-color .12s}.cal-add-event-btn:hover{background:var(--surface-selected);border-color:var(--text-accent);border-style:solid}@container calendar (max-width: 599px){.cal-panel__sheet-handle{width:44px;height:5px;border-radius:3px;background:var(--border-subtle);align-self:center;margin:12px 0 6px;flex-shrink:0;opacity:.5}.sheet-panel .cal-panel__inner{height:auto;flex:1;min-height:0;overflow-y:auto}.cal-panel__header{padding:20px 18px 15px;font-size:var(--font-body)}.cal-panel__empty{padding:36px 20px;font-size:var(--font-body)}.cal-panel__events{padding:13px 15px 0;gap:13px}.cal-add-event-btn{margin:15px 18px 10px;padding:15px 18px;font-size:var(--font-body);min-height:56px;width:calc(100% - 36px);border:2px dashed var(--text-accent);background:var(--surface-selected);color:var(--text-accent);font-weight:600;box-sizing:border-box;display:block}.cal-add-event-btn:hover{background:var(--surface-selected);border-color:var(--text-accent)}.cal-add-event-btn:active{background:var(--text-accent);color:var(--action-text);border-style:solid}}.cal-view{container-type:inline-size;container-name:calendar;display:flex;height:100%;width:100%;min-height:0;overflow:hidden;position:relative}.cal-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.cal-month-wrap{display:contents}.cal-icon-btn{background:none;border:none;cursor:pointer;font-size:var(--font-body);padding:3px 6px;border-radius:5px;opacity:.6;transition:opacity .12s,background .12s;line-height:1;color:var(--text-secondary);outline:none}.cal-icon-btn:hover{opacity:1;background:var(--surface-hover)}.cal-icon-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cal-icon-btn--nav{border:1px solid var(--border-subtle);padding:4px 10px;border-radius:6px;font-size:var(--font-body)}.cal-loading-bar{padding:8px 0}@container calendar (max-width: 599px){.cal-month-wrap{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-height:0}}.th{display:flex;flex-direction:column;gap:24px;padding:28px 32px;min-height:100%;box-sizing:border-box;overflow-y:auto}.th__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.th__greeting-text{margin:0;font-size:var(--font-h2);font-weight:700;color:var(--tutor_home_greeting_text);line-height:1.2}.th__greeting-sub{margin:4px 0 0;font-size:var(--font-small);color:var(--tutor_home_greeting_sub_text)}.th__actions{display:flex;gap:8px;flex-shrink:0}.th__action-btn{padding:8px 16px;border-radius:8px;border:none;font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s;white-space:nowrap}.th__action-btn--primary{background:var(--tutor_workspace_header_btn_new_bg);color:var(--tutor_workspace_header_btn_new_text)}.th__action-btn--primary:hover{background:var(--tutor_workspace_header_btn_new_bg_hover)}.th__action-btn--secondary{background:var(--tutor_workspace_header_btn_share_bg);color:var(--tutor_workspace_header_btn_share_text)}.th__action-btn--secondary:hover{background:var(--tutor_workspace_header_btn_share_bg_hover)}.th__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.th__stat-card{background:var(--tutor_stat_card_bg);border:1px solid var(--tutor_stat_card_border);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;transition:border-color .12s}.th__stat-card:hover{border-color:var(--tutor_stat_card_border_hover)}.th__stat-icon{font-size:var(--font-h2);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--tutor_stat_card_icon_bg);border-radius:10px;flex-shrink:0}.th__stat-body{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.th__stat-value{font-size:var(--font-h2);font-weight:700;color:var(--tutor_stat_card_value_text);line-height:1;font-variant-numeric:tabular-nums}.th__stat-label{font-size:var(--font-caption);color:var(--tutor_stat_card_label_text)}.th__stat-trend{font-size:var(--font-caption);color:var(--tutor_stat_card_trend_up_text);font-weight:500;white-space:nowrap}.th__main{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}.th__left,.th__right{display:flex;flex-direction:column;gap:20px}.th__section{display:flex;flex-direction:column;gap:12px}.th__section-header{display:flex;align-items:center;gap:8px}.th__section-title{margin:0;font-size:var(--font-small);font-weight:700;color:var(--tutor_home_greeting_text);flex:1}.th__section-badge{background:#fee2e2;color:#991b1b;font-size:var(--font-caption);font-weight:700;padding:2px 7px;border-radius:999px}.th__section-soon{font-size:var(--font-caption);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tutor_home_greeting_sub_text);background:var(--tutor_stat_card_icon_bg);padding:2px 7px;border-radius:999px}.th__loading{font-size:var(--font-small);color:var(--tutor_home_greeting_sub_text);padding:12px 0}.th__attention-empty{display:flex;align-items:center;gap:8px;padding:16px;background:var(--tutor_attention_card_bg);border:1px solid var(--tutor_attention_card_border);border-radius:12px;font-size:var(--font-small);color:var(--tutor_attention_card_empty_text)}.th__attention-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.th__attention-card{background:var(--tutor_attention_card_bg);border:1px solid var(--tutor_attention_card_border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.th__attention-card-header{display:flex;align-items:center;gap:7px}.th__attention-icon{font-size:var(--font-body)}.th__attention-icon--inactive{color:var(--tutor_attention_card_icon_inactive_color)}.th__attention-icon--struggling{color:var(--tutor_attention_card_icon_struggling_color)}.th__attention-icon--pending{color:var(--tutor_attention_card_icon_pending_color)}.th__attention-icon--session{color:var(--tutor_attention_card_icon_session_color)}.th__attention-title{flex:1;font-size:var(--font-caption);font-weight:700;color:var(--tutor_attention_card_title_text);text-transform:uppercase;letter-spacing:.04em}.th__attention-count{font-size:var(--font-caption);font-weight:700;color:var(--tutor_attention_card_row_badge_text);background:var(--tutor_attention_card_row_badge_bg);padding:1px 7px;border-radius:999px}.th__attention-rows{display:flex;flex-direction:column;gap:2px}.th__attention-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;border:none;background:none;cursor:pointer;text-align:left;width:100%;transition:background .1s}.th__attention-row:hover{background:var(--tutor_attention_card_row_bg_hover)}.th__attention-row-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.th__attention-row-name{font-size:var(--font-caption);font-weight:600;color:var(--tutor_attention_card_row_name_text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.th__attention-row-meta{font-size:var(--font-caption);color:var(--tutor_attention_card_row_meta_text)}.th__attention-row-arrow{font-size:var(--font-caption);color:var(--tutor_attention_card_row_meta_text);opacity:.4;transition:opacity .1s,transform .1s}.th__attention-row:hover .th__attention-row-arrow{opacity:1;transform:translate(2px)}.th__attention-more{font-size:var(--font-caption);color:var(--tutor_attention_card_empty_text);padding:4px 8px;text-align:center}.th__feed-card{background:var(--tutor_activity_feed_bg);border:1px solid var(--tutor_activity_feed_border);border-radius:12px;overflow:hidden}.th__feed-empty{padding:20px 16px;font-size:var(--font-small);color:var(--tutor_activity_feed_empty_text);background:var(--tutor_activity_feed_bg);border:1px solid var(--tutor_activity_feed_border);border-radius:12px}.th__feed-list{display:flex;flex-direction:column}.th__feed-item{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:none;background:none;cursor:pointer;text-align:left;width:100%;transition:background .1s;position:relative}.th__feed-item:hover{background:var(--tutor_activity_feed_item_bg_hover)}.th__feed-timeline{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:5px;width:10px;gap:0}.th__feed-dot{width:8px;height:8px;border-radius:50%;background:var(--tutor_activity_feed_dot_color);flex-shrink:0}.th__feed-line{width:2px;flex:1;min-height:20px;background:var(--tutor_activity_feed_line_color);margin-top:3px}.th__feed-icon{font-size:var(--font-small);flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--tutor_activity_feed_item_icon_bg);border-radius:7px}.th__feed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:2px}.th__feed-text{font-size:var(--font-caption);font-weight:500;color:var(--tutor_activity_feed_item_text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.th__feed-meta{font-size:var(--font-caption);color:var(--tutor_activity_feed_item_meta_text)}.th__placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;background:var(--tutor_stat_card_bg);border:1px dashed var(--tutor_stat_card_border);border-radius:12px;text-align:center}.th__placeholder-icon{font-size:var(--font-h1);opacity:.3}.th__placeholder-text{font-size:var(--font-caption);color:var(--tutor_home_greeting_sub_text);max-width:220px;line-height:1.5}@media(max-width:900px){.th__main{grid-template-columns:1fr}.th__right{flex-direction:row;flex-wrap:wrap}.th__right .th__section{flex:1;min-width:240px}}@media(max-width:640px){.th{padding:16px;gap:16px}.th__stats{grid-template-columns:repeat(2,1fr)}.th__header{flex-direction:column;gap:12px}.th__actions{width:100%}.th__action-btn{flex:1;text-align:center}}.breadcrumbs{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;padding:8px 16px 0;min-width:0;overflow:hidden}.breadcrumbs__item{display:flex;align-items:center;gap:2px;min-width:0;flex-shrink:1}.breadcrumbs__item:last-child{flex-shrink:0;max-width:50%}.breadcrumbs__sep{font-size:var(--font-small);opacity:.35;flex-shrink:0;padding:0 2px}.breadcrumbs__link{background:none;border:none;padding:2px 4px;cursor:pointer;font-size:var(--font-caption);font-weight:500;color:var(--tutor_breadcrumb_text_link);border-radius:4px;transition:color .12s,background .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.breadcrumbs__link:hover{color:var(--tutor_breadcrumb_text_link_hover);background:var(--tutor_breadcrumb_text_link_hover_bg)}.breadcrumbs__current{font-size:var(--font-caption);font-weight:600;color:var(--tutor_breadcrumb_current);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}@media(max-width:767px){.breadcrumbs{padding:10px 16px 0}.breadcrumbs__link{font-size:var(--font-small);max-width:100px}.breadcrumbs__current{font-size:var(--font-small)}.breadcrumbs__item:not(:nth-last-child(-n+2)){display:none}.breadcrumbs__item:nth-last-child(2) .breadcrumbs__sep:first-child{display:none}}.proj-tpl-preview{margin-top:10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-sunken, var(--surface-raised));display:flex;flex-direction:column;gap:8px}.proj-tpl-preview__phases{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.proj-tpl-preview__chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-caption);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:999px;padding:2px 9px 2px 6px;white-space:nowrap}.proj-tpl-preview__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.proj-tpl-preview__gate{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-caption);font-weight:600;color:var(--text-secondary);border:1px dashed var(--border-strong);border-radius:999px;padding:2px 9px;white-space:nowrap}.proj-tpl-preview__tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:var(--font-caption);color:var(--text-secondary)}.proj-tpl-preview__tool{padding:1px 8px;border-radius:5px;background:var(--surface-raised);border:1px solid var(--border-subtle);white-space:nowrap}.proj-tpl-preview__tool+.proj-tpl-preview__tool:before{content:""}.proj-template-card--blank{margin-top:8px;width:100%;flex-direction:row;align-items:center;gap:8px;background:none;text-align:left}.proj-template-card--blank .proj-template-card__icon{display:flex;align-items:center;flex-shrink:0}.proj-template-card--blank .proj-template-card__label{flex-shrink:0}.proj-template-card--blank .proj-template-card__desc{color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-tpl-preview--blank{gap:6px}.proj-tpl-preview__note{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.5}.proj-satellite-types{display:grid;grid-template-columns:1fr 1fr;gap:6px}.proj-satellite-currency{display:flex;flex-wrap:wrap;gap:4px}.proj-satellite-currency .proj-owner-btn{padding:7px 12px}.proj-primary-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--action-bg);color:var(--action-text);border:1px solid transparent;border-radius:7px;font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s;white-space:nowrap}.proj-primary-btn:disabled{opacity:.5;cursor:not-allowed}.proj-ghost-btn{padding:7px 12px;background:none;border:1px solid var(--border-subtle);border-radius:7px;font-size:var(--font-small);color:var(--text-secondary);cursor:pointer;transition:opacity .12s}.proj-ghost-btn:hover{opacity:.8}.proj-native-input{width:100%;padding:7px 10px;border:1px solid var(--field-border);border-radius:7px;font-size:var(--font-small);font-family:inherit;background:var(--field-bg);color:var(--text-primary);box-sizing:border-box;transition:border-color .15s;appearance:none;-webkit-appearance:none}.proj-native-input--textarea{resize:vertical;min-height:60px;line-height:1.45}.dpicker{position:relative;width:100%}.dpicker__trigger{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:7px;font-size:var(--font-caption);color:var(--field-placeholder);cursor:pointer;text-align:left;transition:border-color .12s;box-sizing:border-box}.dpicker__trigger:hover{border-color:var(--border-focus)}.dpicker__trigger--set{color:var(--text-primary)}.dpicker__icon{display:flex;align-items:center;flex-shrink:0}.dpicker__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dpicker__clear{display:flex;align-items:center;margin-left:auto;padding:0 2px;color:var(--text-secondary);opacity:.6;cursor:pointer;border-radius:3px;transition:opacity .1s;flex-shrink:0}.dpicker__clear:hover{opacity:1}.dpicker__backdrop{position:fixed;inset:0;background:var(--shadow-tint);z-index:10000;display:flex;align-items:center;justify-content:center}.dpicker__popup{position:relative;width:340px;height:460px;display:flex;flex-direction:column;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:hidden;box-sizing:border-box}.dpicker__calendar{flex-shrink:0;padding:16px 16px 12px}.dpicker__events-zone{flex-shrink:0;height:108px;border-top:1px solid var(--border-subtle);overflow-y:auto;overscroll-behavior:contain}.dpicker__events-zone--empty{display:flex;align-items:center;justify-content:center}.dpicker__events-placeholder{font-size:var(--font-caption);color:var(--text-muted);pointer-events:none}.dpicker__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dpicker__nav-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:5px 10px;color:var(--text-secondary);border-radius:7px;transition:background .1s}.dpicker__nav-btn:hover{background:var(--surface-hover)}.dpicker__month-label{font-size:var(--font-body);font-weight:700;color:var(--text-primary)}.dpicker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dpicker__weekday{font-size:var(--font-caption);font-weight:700;text-align:center;color:var(--text-secondary);padding:4px 0 6px;text-transform:uppercase;letter-spacing:.04em}.dpicker__cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:1;border-radius:7px;cursor:pointer;transition:background .1s;min-height:36px}.dpicker__cell:hover:not(.dpicker__cell--empty){background:var(--surface-hover)}.dpicker__cell--empty{cursor:default}.dpicker__cell--today .dpicker__day-num{font-weight:700;color:var(--text-accent)}.dpicker__cell--selected{background:var(--accent-500)!important}.dpicker__cell--selected .dpicker__day-num{color:var(--text-inverse)}.dpicker__day-num{font-size:var(--font-small);line-height:1;color:var(--text-primary)}.dpicker__dots{display:flex;gap:2px;align-items:center;height:5px}.dpicker__dot{width:5px;height:5px;border-radius:50%;display:inline-block;flex-shrink:0}.dpicker__milestone-dot{width:5px;height:5px;background:var(--accent-500);transform:rotate(45deg);flex-shrink:0}.dpicker__event-list{padding:6px 12px;display:flex;flex-direction:column}.dpicker__event-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-subtle)}.dpicker__event-item:last-child{border-bottom:none}.dpicker__event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dpicker__event-dot--milestone{border-radius:0;background:var(--accent-500);transform:rotate(45deg)}.dpicker__event-title{flex:1;font-size:var(--font-caption);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dpicker__event-time{font-size:var(--font-caption);color:var(--text-secondary);flex-shrink:0}.proj-inline-rename{display:flex;align-items:center;gap:6px;flex-shrink:0}.proj-inline-rename__input{width:200px;flex-shrink:0}.proj-attachment-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:999px;font-size:var(--font-caption);color:var(--text-primary);max-width:200px}.proj-attachment-chip__icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.proj-attachment-chip__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.proj-attachment-chip__label:hover{text-decoration:underline}.proj-attachment-chip__remove{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);opacity:.45;padding:0 1px;flex-shrink:0;border-radius:2px;transition:opacity .1s}.proj-attachment-chip__remove:hover{opacity:1}.proj-attachment__add-btn{padding:4px 10px;background:none;border:1px dashed var(--border-subtle);border-radius:999px;font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:border-color .12s,color .12s}.proj-attachment__add-btn:hover{border-color:var(--border-focus);color:var(--text-accent)}.proj-modal--picker{max-width:440px}.proj-picker__tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.proj-picker__tab{flex:1;padding:9px 12px;background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.proj-picker__tab:hover{color:var(--text-primary)}.proj-picker__tab--active{color:var(--text-accent);border-bottom-color:var(--border-focus);font-weight:600}.proj-picker__body{min-height:200px;max-height:340px;overflow-y:auto}.proj-picker__empty{padding:24px 16px;font-size:var(--font-caption);color:var(--text-muted);text-align:center}.proj-picker__list{display:flex;flex-direction:column}.proj-picker__item{display:flex;align-items:center;gap:10px;padding:9px 14px;background:none;border:none;border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;transition:background .1s}.proj-picker__item:last-child{border-bottom:none}.proj-picker__item:hover{background:var(--surface-hover)}.proj-picker__item:disabled{opacity:.5;cursor:not-allowed}.proj-picker__item-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.proj-picker__item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.proj-picker__item-name{font-size:var(--font-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-picker__item-folder{font-size:var(--font-caption);color:var(--text-secondary);opacity:.7}.proj-picker__item-type{font-size:var(--font-caption);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);flex-shrink:0}.proj-picker__url-form{display:flex;flex-direction:column;gap:14px;padding:14px 16px}.proj-diamond-progress{width:230px;height:56px;flex-shrink:0;overflow:visible}@container projboard (max-width: 767px){.proj-diamond-progress{width:160px;height:42px}}.proj-task__title{font-size:var(--font-small)}.proj-task__assignee,.proj-task__due,.proj-task__blocked{font-size:var(--font-caption)}.proj-task__priority{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:currentColor}.proj-task__priority--1{color:var(--danger)}.proj-task__priority--2{color:var(--warning)}.proj-task__priority--3{color:var(--text-muted)}.proj-task__status-btn{font-size:var(--font-caption)}.proj-add-task__input{font-size:var(--font-small)}.proj-add-task__select{font-size:var(--font-caption)}.proj-modal__title,.proj-modal__title-input{font-size:var(--font-body)}.proj-modal__meta-label{font-size:var(--font-caption)}.proj-modal__meta-value{font-size:var(--font-small)}.proj-modal__select,.proj-modal__section-label{font-size:var(--font-caption)}.proj-modal__text,.proj-modal__textarea,.proj-modal__btn,.proj-modal__confirm-text,.proj-dep{font-size:var(--font-small)}.proj-dep__conflict,.proj-deps__result,.proj-deps__empty{font-size:var(--font-caption)}.proj-blocked-confirm__text{font-size:var(--font-small)}.proj-task{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:background .1s,transform .1s,box-shadow .1s;-webkit-user-select:none;user-select:none}.proj-task:hover{background:var(--surface-hover)}.proj-task--done{opacity:.55}.proj-task--dragging{opacity:.4;transform:scale(.97)}.proj-task__check{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-subtle);background:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:border-color .12s,background .12s,color .12s}.proj-task__check--done{background:var(--success);border-color:var(--success);color:var(--text-inverse)}.proj-task__check:hover{border-color:var(--success)}.proj-task__body{flex:1;min-width:0}.proj-task__title{font-weight:500;color:var(--text-primary);line-height:1.35;word-break:break-word}.proj-task--done .proj-task__title{text-decoration:line-through;opacity:.6}.proj-task__head{display:flex;align-items:flex-start;gap:4px}.proj-task__head .proj-task__title{flex:1;min-width:0}.proj-task__head .proj-task__priority{margin-top:5px}.proj-task__meta{display:flex;align-items:center;gap:8px;margin-top:5px;flex-wrap:wrap}.proj-task__assignee{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.proj-task__avatar{width:16px;height:16px;border-radius:4px;background:var(--surface-sunken);color:var(--text-primary);font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.proj-task__due{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary)}.proj-task__due--overdue{color:var(--danger);font-weight:600}.proj-task__due--soon{color:var(--warning);font-weight:600}.proj-task__status-btn{padding:3px 9px;border-radius:999px;border:1px solid;font-weight:600;cursor:pointer;transition:background .1s}.proj-task__status-btn--open{border-color:var(--border-subtle);color:var(--text-secondary);background:transparent}.proj-task__status-btn--done{border-color:var(--success);color:var(--success);background:var(--success-bg)}.proj-task__blocked{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--danger);background:var(--danger-bg);border-radius:4px;padding:1px 6px;margin-left:6px;white-space:nowrap}.proj-task__move{flex-shrink:0;align-self:flex-start;margin-top:2px}.proj-task__move-btn{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;color:var(--text-secondary);padding:4px 6px;transition:opacity .15s,background .1s}@media(hover:hover){.proj-task__move-btn{opacity:0}.proj-task:hover .proj-task__move-btn{opacity:1}}@media(hover:none){.proj-task__move-btn{opacity:1}}.proj-task__move-btn:hover{background:var(--surface-hover)}.proj-add-task{background:var(--surface-raised);border:1px solid var(--border-focus);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:7px}.proj-add-task__input{width:100%;padding:6px 8px;border:1px solid var(--field-border);border-radius:6px;font-family:inherit;background:transparent;color:var(--text-primary);box-sizing:border-box}.proj-add-task__input:focus{outline:none;border-color:var(--border-focus)}.proj-add-task__select{width:100%;padding:5px 8px;border:1px solid var(--field-border);border-radius:6px;font-family:inherit;background:var(--field-bg);color:var(--text-primary);appearance:none;-webkit-appearance:none;box-sizing:border-box}.proj-add-task__select:focus{outline:none;border-color:var(--border-focus)}.proj-add-task__actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.proj-add-task__textarea{width:100%;padding:6px 8px;border:1px solid var(--field-border);border-radius:6px;font-family:inherit;font-size:var(--font-small);background:transparent;color:var(--text-primary);box-sizing:border-box;resize:vertical;line-height:1.45;min-height:46px}.proj-add-task__textarea:focus{outline:none;border-color:var(--border-focus)}.proj-add-task__more{align-self:flex-start;padding:2px 0;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--font-caption);color:var(--text-secondary);transition:color .1s}.proj-add-task__more:hover{color:var(--text-accent)}.proj-modal__backdrop{position:fixed;inset:0;background:#00000059;z-index:9000;display:flex;align-items:flex-end;justify-content:center;padding:0;box-sizing:border-box}.proj-modal{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px;width:100%;max-width:520px;max-height:calc(var(--vh, 1vh) * 95);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-overlay)}.proj-modal--create{max-width:480px}.proj-modal__header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.proj-modal__title{flex:1;font-weight:700;color:var(--text-primary);min-width:0}.proj-modal__title-input{flex:1;font-weight:700;background:none;border:none;border-bottom:1px solid var(--border-focus);color:var(--text-primary);padding:2px 0;outline:none;font-family:inherit;min-width:0}.proj-modal__close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px 6px;border-radius:5px;transition:background .1s;flex-shrink:0}.proj-modal__body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:14px}.proj-modal__meta-row{display:flex;gap:16px;flex-wrap:wrap}.proj-modal__meta-item{display:flex;flex-direction:column;gap:4px;min-width:100px}.proj-modal__meta-label{font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.proj-modal__meta-value{color:var(--text-primary)}.proj-modal__meta-value--priority{display:flex;align-items:center;gap:6px}.proj-modal__select{padding:5px 8px;border:1px solid var(--field-border);border-radius:6px;font-family:inherit;background:var(--field-bg);color:var(--text-primary);appearance:none;-webkit-appearance:none}.proj-modal__select:focus{outline:none;border-color:var(--border-focus)}.proj-modal__section{display:flex;flex-direction:column;gap:6px}.proj-modal__section-label{font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.proj-modal__text{color:var(--text-primary);line-height:1.5;white-space:pre-wrap}.proj-modal__empty-text{color:var(--text-muted);font-style:italic}.proj-modal__textarea{width:100%;padding:8px 10px;border:1px solid var(--field-border);border-radius:7px;font-family:inherit;background:var(--field-bg);color:var(--text-primary);box-sizing:border-box;resize:vertical;line-height:1.45}.proj-modal__textarea:focus{outline:none;border-color:var(--border-focus)}.proj-modal__footer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.proj-modal__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:7px;font-weight:600;cursor:pointer;transition:background .1s,opacity .1s}.proj-modal__btn--ghost{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary)}.proj-modal__btn--primary{background:var(--action-bg);color:var(--action-text);border:none}.proj-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}.proj-modal__btn--danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-bg)}.proj-modal__btn--delete{margin-right:auto;opacity:.6}.proj-modal__btn--delete:hover{opacity:1}.proj-modal__confirm-text{color:var(--text-secondary);margin-right:auto}.proj-deps{display:flex;flex-direction:column;gap:4px}.proj-dep{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;color:var(--text-primary);transition:background .1s}.proj-dep:hover{background:var(--surface-hover)}.proj-dep--reverse{opacity:.7}.proj-dep__status{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.proj-dep__status--done{background:var(--success);border-color:var(--success);color:var(--text-inverse)}.proj-dep__status--open{border-color:var(--border-subtle)}.proj-dep__status--blocked{border:none;color:var(--text-secondary)}.proj-dep__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-dep__remove{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);opacity:0;padding:2px 4px;border-radius:3px;transition:opacity .1s,color .1s}.proj-dep:hover .proj-dep__remove{opacity:1}.proj-dep__remove:hover{color:var(--danger)}.proj-deps__search{display:flex;flex-direction:column;gap:4px;margin-top:4px}.proj-deps__results{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:6px}.proj-deps__result{display:flex;align-items:center;gap:8px;padding:7px 10px;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;color:var(--text-primary);text-align:left;transition:background .1s}.proj-deps__result:last-child{border-bottom:none}.proj-deps__result:hover{background:var(--surface-hover)}.proj-deps__empty{padding:10px;color:var(--text-muted);opacity:.6;text-align:center}.proj-modal--confirm{max-width:420px}.proj-blocked-confirm__text{color:var(--text-primary);line-height:1.5;margin:0 0 10px}.proj-blocked-confirm__list{display:flex;flex-direction:column;gap:4px}.proj-dep__conflict{display:flex;align-items:center;gap:5px;color:var(--warning);padding:2px 8px 2px 32px;line-height:1.4}.proj-add-task__fields-inline{display:contents}.proj-add-task__field{display:flex;flex-direction:column;gap:4px}.proj-add-task__label{font-size:var(--font-caption);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;display:none}.proj-modal--add-task{max-width:100%;border-radius:16px 16px 0 0;max-height:calc(var(--vh, 1vh) * 85);overflow-y:auto;z-index:9001;-webkit-overflow-scrolling:touch;width:100%}.proj-modal--add-task .proj-modal__body{padding:0}.proj-modal--add-task .proj-add-task{border:none;border-radius:0;padding:16px;gap:12px}.proj-add-task--mobile{border:none;padding:0}.proj-add-task--mobile .proj-add-task__label{display:block}.proj-add-task--mobile .proj-add-task__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proj-add-task--mobile .proj-add-task__input{font-size:var(--font-body);padding:12px;border-radius:10px;min-height:44px}.proj-add-task--mobile .proj-add-task__textarea{font-size:var(--font-body);padding:12px;border-radius:10px;min-height:72px}.proj-add-task--mobile .proj-add-task__more{font-size:var(--font-small);min-height:32px}.proj-add-task--mobile .proj-add-task__select{font-size:var(--font-body);padding:10px 12px;border-radius:8px;min-height:40px}.proj-add-task--mobile .proj-add-task__actions{gap:10px;padding-top:4px;padding-bottom:env(safe-area-inset-bottom,0)}.proj-add-task--mobile .proj-add-task__actions .proj-ghost-btn,.proj-add-task--mobile .proj-add-task__actions .proj-primary-btn{font-size:var(--font-body);padding:12px 18px;border-radius:10px;min-height:44px;flex:1}@media(max-width:767px){.proj-modal{border-radius:16px 16px 0 0;max-height:calc(var(--vh, 1vh) * 85);width:100%;max-width:100%}.proj-modal__backdrop{align-items:flex-end;padding:0}.proj-modal__header{padding:16px 16px 12px}.proj-modal__title,.proj-modal__title-input{font-size:var(--font-h3)}.proj-modal__close{padding:8px 10px}.proj-modal__body{padding:12px 16px 16px;gap:16px}.proj-modal__meta-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proj-modal__meta-item{min-width:0;gap:6px}.proj-modal__meta-label{font-size:var(--font-caption)}.proj-modal__meta-value{font-size:var(--font-body);padding:6px 0}.proj-modal__select{font-size:var(--font-body);padding:10px 12px;border-radius:8px;width:100%;min-height:40px}.proj-modal__section-label{font-size:var(--font-small)}.proj-modal__text{font-size:var(--font-body);line-height:1.5}.proj-modal__empty-text{font-size:var(--font-small)}.proj-modal__textarea{font-size:var(--font-body);padding:12px;border-radius:8px;min-height:80px}.proj-modal__footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:10px}.proj-modal__btn{font-size:var(--font-body);padding:12px 18px;border-radius:10px;min-height:44px}.proj-modal__confirm-text{font-size:var(--font-body)}.proj-task__status-btn{font-size:var(--font-small);padding:8px 14px;min-height:36px}.proj-dep{font-size:var(--font-body);padding:10px;min-height:40px}.proj-dep__status{width:20px;height:20px}.proj-dep__remove{padding:6px 8px;opacity:1}.proj-dep__conflict{font-size:var(--font-small);padding:4px 10px 4px 38px}.proj-deps__results{max-height:calc(var(--vh, 1vh) * 40)}.proj-deps__result{font-size:var(--font-body);padding:12px;min-height:44px}.proj-deps__group-label{font-size:var(--font-caption);padding:8px 12px 4px}.proj-deps__empty{font-size:var(--font-small);padding:16px}.proj-modal--confirm{max-width:100%}.proj-blocked-confirm__text{font-size:var(--font-body)}}.proj-gate{display:flex;flex-direction:column;height:100%}.proj-gate__loading{padding:16px;font-size:var(--font-caption);color:var(--text-secondary);text-align:center;opacity:.6}.proj-gate__header{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:sticky;top:0;background:var(--surface-raised);z-index:1}.proj-gate__title{flex:1;font-size:var(--font-small);font-weight:700;color:var(--text-primary)}.proj-gate__badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-caption);font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.proj-gate__badge--draft{background:var(--warning-bg);color:var(--warning)}.proj-gate__badge--approved{background:var(--success-bg);color:var(--success)}.proj-gate__explainer{padding:10px 14px;font-size:var(--font-caption);color:var(--text-secondary);line-height:1.55;background:color-mix(in srgb,var(--accent-500) 6%,transparent);border-bottom:1px solid var(--border-subtle)}.proj-gate__explainer strong{color:var(--text-primary);font-weight:600}.proj-gate__section{padding:14px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:12px}.proj-gate__section--locked{background:var(--surface-sunken)}.proj-gate__section-title{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);display:flex;align-items:center}.proj-gate__section-icon{display:flex;align-items:center;margin-right:4px;color:var(--text-secondary)}.proj-gate__locked-note{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-caption);font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted);margin-left:auto}.proj-gate__field{display:flex;flex-direction:column;gap:3px}.proj-gate__field-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.proj-gate__field-hint{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.45;opacity:.75;margin-bottom:3px}.proj-gate__field-locked{font-size:var(--font-caption);color:var(--text-primary);line-height:1.6;white-space:pre-wrap;min-height:18px;padding:2px 0}.proj-gate__field-empty{color:var(--text-muted);font-style:italic}.proj-gate__field--hero{background:color-mix(in srgb,var(--accent-500) 4%,transparent);border-radius:8px;padding:10px;border-left:3px solid var(--accent-500);margin-left:-10px;margin-right:-10px}.proj-gate__field--hero .proj-gate__field-label{color:var(--text-accent)}.proj-gate__field--hero .flex-textarea-container,.proj-gate__field--hero .flex-textfield-container{width:100%}.proj-gate__date-input{padding:6px 9px;border:1px solid var(--field-border);border-radius:7px;font-size:var(--font-caption);font-family:inherit;background:var(--field-bg);color:var(--text-primary);box-sizing:border-box;transition:border-color .12s}.proj-gate__date-input:focus{outline:none;border-color:var(--border-focus)}.proj-gate__approve{padding:14px;display:flex;flex-direction:column;gap:8px}.proj-gate__approve-checklist{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:4px}.proj-gate__check-item{display:flex;align-items:center;gap:5px;font-size:var(--font-caption);color:var(--text-secondary);opacity:.5;transition:opacity .15s,color .15s}.proj-gate__check-item--done{color:var(--success);opacity:1;font-weight:600}.proj-gate__check-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid currentColor;flex-shrink:0}.proj-gate__approve-btn{width:100%;padding:11px;background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:9px;font-size:var(--font-small);font-weight:700;cursor:not-allowed;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;opacity:.55}.proj-gate__approve-btn--ready{background:var(--action-bg);color:var(--action-text);border-color:transparent;cursor:pointer;opacity:1;box-shadow:var(--shadow-card)}.proj-gate__approve-btn--ready:hover{background:var(--action-bg-hover);box-shadow:var(--shadow-overlay);transform:translateY(-1px)}.proj-gate__approve-icon{display:flex;align-items:center;flex-shrink:0}.proj-gate__approve-sub{font-size:var(--font-caption);color:var(--text-secondary);opacity:.6;text-align:center;margin:2px 0 0;line-height:1.4}.proj-gate__approved-state{padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--success-bg);border-top:1px solid var(--border-subtle)}.proj-gate__approved-icon{display:flex;align-items:center;justify-content:center;color:var(--success)}.proj-gate__approved-text{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.5;max-width:220px}.proj-milestones{display:flex;flex-direction:column;gap:5px}.proj-milestone-row{display:flex;gap:5px;align-items:center}.proj-milestone__label-field{flex:1;min-width:0}.proj-milestone__date{flex-shrink:0;width:130px;padding:4px 7px;border:1px solid var(--field-border);border-radius:5px;font-size:var(--font-caption);font-family:inherit;background:var(--field-bg);color:var(--text-primary);box-sizing:border-box;transition:border-color .12s}.proj-milestone__date:focus{outline:none;border-color:var(--border-focus)}.proj-milestone__remove{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);opacity:.45;padding:2px 4px;border-radius:3px;flex-shrink:0;transition:opacity .1s}.proj-milestone__remove:hover{opacity:1}.proj-milestone__add{background:none;border:1px dashed var(--border-subtle);border-radius:5px;padding:4px 8px;font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;transition:border-color .1s,color .1s}.proj-milestone__add:hover{border-color:var(--border-focus);color:var(--text-accent)}@container projboard (max-width: 767px){.proj-gate__field--hero{margin-left:-8px;margin-right:-8px;padding:8px}.proj-milestone__date{width:110px}}.proj-board__back,.proj-board__template-badge{font-size:var(--font-caption)}.proj-board__title{font-size:var(--font-h3)}.proj-board__progress-label,.proj-view-btn,.proj-kanban__col-name,.proj-kanban__col-count,.proj-kanban__add-btn,.proj-kanban-filter__label,.proj-kanban-filter__pill,.proj-kanban-filter__toggle,.proj-kanban-filter__clear,.proj-kanban__divider-name,.proj-kanban__divider-input,.proj-kanban__divider-count{font-size:var(--font-caption)}.proj-phase__name{font-size:var(--font-small)}.proj-phase__tagline,.proj-phase__count,.proj-phase__guidance,.proj-phase__add-btn,.proj-phase__notes,.proj-board__log-title,.proj-log__text,.proj-log__time,.proj-log__empty{font-size:var(--font-caption)}.proj-smart__empty{font-size:var(--font-small)}.proj-smart__section-label,.proj-smart__item,.proj-smart__task-btn,.proj-smart__due,.proj-smart__meta,.proj-smart__resolve{font-size:var(--font-caption)}.proj-board{display:flex;flex-direction:column;height:100%;min-height:0;container-type:inline-size;container-name:projboard}.proj-board__main{flex:1;min-width:0;overflow:auto}.proj-board__menu{position:relative;display:flex;align-items:center}.proj-board__header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;flex-wrap:wrap;background:var(--surface-raised)}.proj-board__menu-mobile{display:none;flex-shrink:0;align-items:center}.proj-board__menu-desktop{display:flex;align-items:center}.proj-card-menu__dropdown--header{right:0;left:auto;top:calc(100% + 4px)}.proj-board__back{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px 6px;border-radius:5px;white-space:nowrap;transition:background .1s}.proj-board__back:hover{background:var(--surface-hover)}.proj-board__title-group{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.proj-board__title-row{display:flex;align-items:center;gap:8px;min-width:0}.proj-board__title{font-weight:700;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.proj-board__template-badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:999px;padding:2px 8px;line-height:1.4}.proj-board__back-circle{flex-shrink:0}.proj-board__header-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.proj-board__progress{display:flex;align-items:center;gap:8px;flex-shrink:0}.proj-board__progress-track{width:100px;height:6px;background:var(--border-subtle);border-radius:3px;overflow:hidden}.proj-board__progress-fill{height:100%;background:var(--accent-500);border-radius:3px;transition:width .3s ease}.proj-board__progress-label{color:var(--text-secondary);white-space:nowrap}.proj-board__toolbar{display:flex;gap:4px;flex-shrink:0}.proj-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;background:none;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap}.proj-view-btn:hover{background:var(--surface-hover)}.proj-view-btn--active{background:var(--surface-selected);color:var(--text-primary);border-color:var(--border-focus)}.proj-board__body{display:flex;flex:1;min-height:0;overflow:hidden}.proj-list{padding:16px;display:flex;flex-direction:column;gap:20px;height:100%;min-height:0;overflow-y:auto;box-sizing:border-box}.proj-board__loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-h3);opacity:.4}.proj-board__log-panel{width:240px;flex-shrink:0;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.proj-board__log-panel-mobile{display:none}.proj-board__log-title{padding:10px 14px 8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.proj-smart{padding:10px 14px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1}.proj-smart__empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--text-secondary);text-align:center}.proj-smart__section{display:flex;flex-direction:column;gap:4px}.proj-smart__section-label{display:flex;align-items:center;gap:6px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 0}.proj-smart__section-icon{display:flex;align-items:center;flex-shrink:0}.proj-smart__item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;color:var(--text-primary);background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background .1s}.proj-smart__item:hover{background:var(--surface-hover)}.proj-smart__item--conflict{flex-wrap:wrap;border-left:3px solid var(--danger);padding-left:10px;cursor:default}.proj-smart__item--blocked{flex-wrap:wrap;cursor:default}.proj-smart__item-main{display:flex;align-items:center;gap:6px;flex:1;min-width:0;flex-wrap:wrap}.proj-smart__task-btn{background:none;border:none;cursor:pointer;font-weight:600;color:var(--text-primary);padding:0;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .1s}.proj-smart__task-btn:hover{text-decoration-color:currentColor}.proj-smart__task-btn--dep{font-weight:500}.proj-smart__task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.proj-smart__priority{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:currentColor}.proj-smart__priority--1{color:var(--danger)}.proj-smart__priority--2{color:var(--warning)}.proj-smart__priority--3{color:var(--text-muted)}.proj-smart__due{color:var(--text-secondary);flex-shrink:0}.proj-smart__phase{font-size:var(--font-small);color:var(--text-secondary);background:var(--surface-sunken);border-radius:4px;padding:1px 6px;flex-shrink:0}.proj-smart__meta{color:var(--text-secondary)}.proj-smart__resolve{padding:3px 10px;border:1px solid var(--danger-bg);border-radius:5px;background:var(--danger-bg);color:var(--danger);font-weight:600;cursor:pointer;transition:background .1s;flex-shrink:0}.proj-smart__resolve:hover{background:#fee2e2}.proj-board__log-backdrop{display:none}.proj-dd{display:flex;flex:1;min-height:0;overflow:hidden}.proj-dd__discovery{flex:1;min-width:0;overflow-y:auto;min-height:0}.proj-dd__gate{width:340px;flex-shrink:0;border-left:1px solid var(--border-subtle);overflow-y:auto;min-height:0}.proj-filter-sheet__title{padding:14px 16px 10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.proj-filter-sheet{padding:14px 16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.proj-filter-sheet__section{display:flex;flex-direction:column;gap:8px}.proj-filter-sheet__label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-caption);color:var(--text-secondary)}.proj-filter-sheet__pills{display:flex;flex-wrap:wrap;gap:6px}.proj-filter-sheet__new-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.proj-filter-sheet__actions{display:flex;gap:8px;padding-top:4px;border-top:1px solid var(--border-subtle)}@container projboard (max-width: 800px){.proj-board__header{padding:10px 14px;gap:10px}.proj-board__progress-track{width:80px}.proj-view-btn{padding:4px 8px}}@container projboard (max-width: 700px){.proj-board__header{gap:10px 8px;padding:10px 12px}.proj-board__title-group{flex:1;min-width:120px}.proj-board__header-right{gap:10px}}@container projboard (max-width: 600px){.proj-board__header{padding:10px 12px}.proj-board__menu-desktop{display:none}.proj-board__menu-mobile{display:flex}.proj-board__title-group{min-width:100px}.proj-board__header-right{width:100%;margin-left:0;justify-content:space-between;padding-top:6px;margin-top:2px;border-top:1px solid var(--border-subtle)}.proj-board__progress-track{width:50px;height:5px}.proj-view-btn{padding:4px 8px}.proj-kanban-tabs{overflow-x:hidden}.proj-kanban-tabs__tab{flex:1 1 0;min-width:0;justify-content:center;padding:9px 4px;gap:3px}.proj-kanban-tabs__name{font-size:var( --font-caption );overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.proj-kanban-tabs__count{font-size:var(--font-caption);padding:1px 4px;flex-shrink:0}.proj-kanban-tabs__count{background:none;padding:0;font-size:var(--font-caption);opacity:.6}}@container projboard (max-width: 480px){.proj-board__header{padding:8px 10px}.proj-board__back{padding:3px 5px}.proj-board__title-group{min-width:80px}.proj-board__header-right{gap:8px;padding-top:5px}.proj-board__progress{gap:6px}.proj-board__progress-track{width:40px}.proj-board__toolbar{gap:3px}.proj-view-btn{padding:3px 6px}}@container projboard (max-width: 767px){.proj-dd{flex-direction:column;overflow-y:auto;min-height:0}.proj-dd__discovery{flex:none;overflow-y:visible;min-height:0}.proj-dd__gate{flex:none;width:100%;border-left:none;border-top:1px solid var(--tutor_eventcard_border);overflow-y:visible;min-height:0}}.proj-kanban{display:flex;flex:1;gap:12px;padding:16px;height:100%;min-height:0;box-sizing:border-box;overflow-x:auto;align-items:flex-start;justify-content:center}.proj-kanban__col{display:flex;flex-direction:column;width:240px;flex-shrink:0;background:var(--surface-sunken);border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden;transition:border-color .15s,background .15s}.proj-kanban__col--over{border-color:var(--border-focus);background:var(--surface-selected)}.proj-kanban__col-header{display:flex;align-items:center;gap:8px;padding:10px 12px;flex-shrink:0}.proj-kanban__col-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.proj-kanban__col-name{flex:1;font-weight:700;color:var(--text-primary)}.proj-kanban__col-count{color:var(--text-secondary);background:var(--surface-raised);border-radius:999px;padding:1px 7px}.proj-kanban__cards{flex:1;padding:4px 8px 8px;display:flex;flex-direction:column;gap:6px;min-height:40px}.proj-kanban__add-btn{width:100%;padding:7px 10px;background:none;border:1px dashed var(--border-subtle);border-radius:7px;color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color .12s,color .12s}.proj-kanban__add-btn:hover{border-color:var(--border-strong);color:var(--text-accent)}.proj-kanban-wrap{display:flex;flex-direction:column;height:100%;width:100%;min-width:0;min-height:0}.proj-kanban-filter{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0}.proj-kanban-filter__label{font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.proj-kanban-filter__separator{width:1px;height:16px;background:var(--border-subtle);flex-shrink:0;margin:0 2px}.proj-kanban-filter__pill{display:flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:none;color:var(--text-primary);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.proj-kanban-filter__pill:hover{background:var(--surface-hover)}.proj-kanban-filter__pill--active{border-color:var(--border-focus);background:var(--surface-selected);color:var(--text-primary);font-weight:600}.proj-kanban-filter__avatar{width:16px;height:16px;border-radius:4px;background:var(--surface-sunken);color:var(--text-primary);font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.proj-kanban-filter__toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:none;color:var(--text-secondary);cursor:pointer;transition:background .1s}.proj-kanban-filter__toggle--active{border-color:var(--border-focus);background:var(--surface-selected);color:var(--text-primary)}.proj-kanban-filter__clear{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:none;background:none;color:var(--text-secondary);cursor:pointer;opacity:.6}.proj-kanban-filter__clear:hover{opacity:1}.proj-kanban-filter__groups{margin-left:auto}.proj-kanban-filter__new-group{display:flex;align-items:center;gap:4px}.proj-kanban__group{display:flex;flex-direction:column;gap:6px}.proj-kanban__divider{display:flex;align-items:center;gap:6px;padding:5px 4px 3px;margin-top:4px;border-top:1px solid var(--border-subtle)}.proj-kanban__divider-name{flex:1;background:none;border:none;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-align:left;padding:0;transition:color .1s}.proj-kanban__divider-name:hover{color:var(--text-primary)}.proj-kanban__divider-input{flex:1;background:none;border:none;border-bottom:1px solid var(--border-focus);font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;padding:0 2px;outline:none}.proj-kanban__divider-count{color:var(--text-secondary);background:var(--surface-raised);border-radius:999px;padding:1px 6px;flex-shrink:0}.proj-kanban__divider-delete{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);opacity:0;padding:2px 4px;border-radius:3px;transition:opacity .1s,color .1s}.proj-kanban__divider:hover .proj-kanban__divider-delete{opacity:1}.proj-kanban__divider-delete:hover{color:var(--danger)}.proj-kanban__divider-confirm{display:flex;align-items:center;gap:4px;margin-left:auto}.proj-kanban__divider-confirm-text{font-size:var(--font-caption);color:var(--danger);font-weight:600}.proj-kanban__divider-confirm-yes,.proj-kanban__divider-confirm-no{background:none;border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;font-size:var(--font-caption);padding:2px 8px;font-weight:600;transition:background .1s}.proj-kanban__divider-confirm-yes{color:var(--danger);border-color:var(--danger-bg)}.proj-kanban__divider-confirm-yes:hover{background:var(--danger-bg)}.proj-kanban__divider-confirm-no{color:var(--text-secondary)}.proj-kanban__divider-confirm-no:hover{background:var(--surface-hover)}.proj-phase-list{padding:16px;display:flex;flex-direction:column;gap:8px;width:100%;max-width:880px;margin:0 auto;box-sizing:border-box}.proj-phase{border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.proj-phase__header{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:var(--surface-raised);border:none;cursor:pointer;text-align:left;transition:background .12s}.proj-phase__header:hover{background:var(--surface-hover)}.proj-phase__num{width:22px;height:22px;border-radius:50%;font-size:var(--font-small);font-weight:700;color:var(--text-inverse);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--text-primary)}.proj-phase__name-group{display:flex;flex-direction:column;gap:1px;flex-shrink:0;min-width:80px}.proj-phase__name{font-weight:700;color:var(--text-primary)}.proj-phase__tagline{font-weight:400;color:var(--text-secondary)}.proj-phase__progress-track{flex:1;height:5px;background:var(--border-subtle);border-radius:3px;overflow:hidden}.proj-phase__progress-fill{height:100%;border-radius:3px;transition:width .3s ease;background:var(--accent-500)}.proj-phase__count{color:var(--text-secondary);flex-shrink:0}.proj-phase__chevron{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.proj-phase__body{padding:8px 12px 12px;display:flex;flex-direction:column;gap:6px;background:var(--surface-sunken)}.proj-phase__guidance{color:var(--text-secondary);line-height:1.55;padding:9px 12px;background:var(--surface-raised);border-left:3px solid var(--border-subtle);border-radius:0 6px 6px 0;margin-bottom:2px}.proj-phase__add-btn{width:100%;padding:7px 10px;background:none;border:1px dashed var(--border-subtle);border-radius:7px;color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color .12s,color .12s}.proj-phase__add-btn:hover{border-color:var(--border-strong);color:var(--text-accent)}.proj-phase__notes-wrap{padding:0 0 4px}.proj-phase__notes{width:100%;min-height:52px;padding:8px 10px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:7px;font-family:inherit;color:var(--text-primary);line-height:1.5;resize:vertical;box-sizing:border-box;transition:border-color .12s}.proj-phase__notes::placeholder{color:var(--field-placeholder)}.proj-phase__notes:focus{outline:none;border-color:var(--border-focus)}.proj-phase__attachments{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding-bottom:4px}.proj-log{padding:10px 14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1}.proj-log__entry{display:flex;gap:8px;align-items:flex-start}.proj-log__dot{width:7px;height:7px;border-radius:50%;background:var(--accent-500);margin-top:4px;flex-shrink:0}.proj-log__content{flex:1;min-width:0}.proj-log__text{color:var(--text-primary);line-height:1.4;word-break:break-word}.proj-log__time{color:var(--text-secondary);margin-top:2px}.proj-log__empty{padding:16px;color:var(--text-secondary);opacity:.6;text-align:center}.proj-kanban-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);overflow-x:auto;justify-content:flex-start;flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.proj-kanban-tabs:before,.proj-kanban-tabs:after{content:"";margin:auto;flex-shrink:0}.proj-kanban-tabs::-webkit-scrollbar{display:none}.proj-kanban-tabs__tab{display:flex;align-items:center;gap:6px;padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:color .15s,border-color .15s;flex-shrink:0}.proj-kanban-tabs__tab--active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--border-focus)}.proj-kanban-tabs__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.proj-kanban-tabs__name{font-size:var(--font-small)}.proj-kanban-tabs__count{font-size:var(--font-caption);color:var(--text-secondary);background:var(--surface-raised);border-radius:999px;padding:1px 6px}.proj-kanban-tabs__info{display:flex;align-items:center;justify-content:flex-end;padding:6px 14px;flex-shrink:0}.proj-kanban-mobile-col{flex:1;width:100%;min-width:0;box-sizing:border-box;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:0}.proj-kanban-filter-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 14px;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);transition:background .1s}.proj-kanban-filter-toggle:hover{background:var(--surface-hover)}.proj-kanban-filter-toggle--active{color:var(--text-primary);font-weight:600}.proj-kanban-filter-toggle__count{font-size:var(--font-caption);font-weight:700;background:var(--border-focus);color:var(--text-inverse);border-radius:999px;padding:0 6px;min-width:16px;text-align:center;line-height:16px}.proj-kanban-filter-toggle__chevron{margin-left:auto;font-size:var(--font-caption);color:var(--text-secondary)}@media(max-width:767px){.proj-log{padding:14px 16px;gap:14px}.proj-log__dot{width:9px;height:9px;margin-top:5px}.proj-log__text{font-size:var(--font-body);line-height:1.5}.proj-log__time{font-size:var(--font-small);margin-top:3px}.proj-log__empty{font-size:var(--font-body);padding:24px}.proj-smart{padding:14px 16px;gap:18px}.proj-smart__empty{font-size:var(--font-body);padding:32px 16px}.proj-smart__section{gap:6px}.proj-smart__section-label{font-size:var(--font-small);padding:6px 0}.proj-smart__item{font-size:var(--font-body);padding:10px;min-height:44px;border-radius:8px;gap:10px}.proj-smart__item--conflict{padding:12px}.proj-smart__item-main{gap:8px}.proj-smart__task-btn,.proj-smart__task-title{font-size:var(--font-body)}.proj-smart__due{font-size:var(--font-small)}.proj-smart__phase{font-size:var(--font-caption);padding:2px 8px}.proj-smart__meta{font-size:var(--font-small)}.proj-smart__resolve{font-size:var(--font-small);padding:8px 14px;border-radius:8px;min-height:36px}.proj-board__log-panel-mobile{max-height:calc(var(--vh, 1vh) * 70)}.proj-board__log-title{font-size:var(--font-small);padding:14px 16px 10px}}.proj-list{padding:16px;display:flex;flex-direction:column;gap:20px}.proj-list__toolbar{display:flex;justify-content:flex-end}.proj-list__archived-toggle{padding-top:4px}.proj-list__archived-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-size:var(--font-caption);color:var(--text-secondary);padding:4px 2px;opacity:.6;transition:opacity .12s}.proj-list__archived-btn:hover{opacity:1}.proj-list__archived-btn:disabled{cursor:default}.proj-list__archived-empty{font-size:var(--font-caption);color:var(--text-secondary);opacity:.5;padding:8px 2px}.proj-list__section-label{display:flex;align-items:center;gap:6px;font-size:var(--font-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.proj-list__empty-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.proj-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.proj-card{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;text-align:left;cursor:pointer;transition:background .12s,transform .1s,box-shadow .1s}.proj-card:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:var(--shadow-card)}.proj-card__header{display:flex;align-items:center;justify-content:space-between}.proj-card__icon{display:flex;align-items:center;flex-shrink:0}.proj-card__status{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:999px}.proj-card__status--active{background:var(--status-learning-bg);color:var(--status-learning)}.proj-card__status--completed{background:var(--status-mastered-bg);color:var(--status-mastered)}.proj-card__status--archived{background:var(--surface-sunken);color:var(--text-muted)}.proj-card__name{font-size:var(--font-small);font-weight:600;color:var(--text-primary);line-height:1.3}.proj-card__desc{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-card__meta{font-size:var(--font-caption);color:var(--text-secondary);margin-top:auto}.proj-card-wrap{position:relative;display:flex;flex-direction:column}.proj-card-wrap .proj-card{flex:1;width:100%}.proj-card--renaming{cursor:default;padding:12px;width:100%;display:flex;flex-direction:column}.proj-card--renaming:hover{transform:none;box-shadow:none;background:var(--surface-raised)}.proj-card-menu{position:absolute;top:8px;right:8px;z-index:2}.proj-card-menu__trigger{display:flex;align-items:center;justify-content:center;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 7px;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .12s}.proj-card-wrap:hover .proj-card-menu__trigger{opacity:1}.proj-card-menu__trigger:focus{opacity:1}.proj-card-menu__dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-overlay);min-width:140px;overflow:hidden;z-index:10}.proj-card-menu__item{display:flex;align-items:center;gap:7px;width:100%;padding:8px 12px;background:none;border:none;font-size:var(--font-small);text-align:left;cursor:pointer;color:var(--text-primary);transition:background .1s}.proj-card-menu__item:hover{background:var(--surface-hover)}.proj-card-menu__item--danger{color:var(--danger)}.proj-card-menu__item--danger:hover{background:var(--danger-bg)}.proj-card-menu__confirm{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.proj-card-menu__confirm-text{font-size:var(--font-caption);color:var(--text-secondary)}.proj-card-menu__confirm-btns{display:flex;gap:6px}.proj-card-menu__confirm-cancel{flex:1;padding:5px;border:1px solid var(--border-subtle);border-radius:5px;background:none;font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer}.proj-card-menu__confirm-ok{flex:1;padding:5px;border:none;border-radius:5px;background:var(--danger);color:var(--text-inverse);font-size:var(--font-caption);font-weight:600;cursor:pointer}.proj-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.proj-template-card{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--surface-raised);border:2px solid var(--border-subtle);border-radius:9px;cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.proj-template-card:hover{border-color:var(--border-strong)}.proj-template-card--active{border-color:var(--border-focus);background:var(--surface-selected)}.proj-template-card__icon{display:flex;align-items:center;flex-shrink:0}.proj-template-card__label{font-size:var(--font-small);font-weight:700;color:var(--text-primary)}.proj-template-card__desc{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.4}.proj-modal--members{max-width:480px;width:100%;max-height:calc(var(--vh, 1vh) * 82);display:flex;flex-direction:column}.proj-modal__loading,.proj-modal__empty{font-size:var(--font-small);color:var(--text-secondary);padding:12px 0}.proj-modal__error{display:flex;align-items:center;gap:5px;font-size:var(--font-caption);color:var(--danger);margin:0 0 8px}.proj-members-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.proj-members-row{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:8px;transition:background .1s}.proj-members-row:hover{background:var(--surface-hover)}.proj-members-row__check{width:16px;height:16px;cursor:pointer;flex-shrink:0;accent-color:var(--text-accent)}.proj-members-row__avatar{width:30px;height:30px;border-radius:8px;background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.proj-members-row__name{flex:1;font-size:var(--font-small);font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-members-row__owner-badge{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--warning-bg);color:var(--warning);padding:1px 6px;border-radius:999px}.proj-members-row__role{display:flex;gap:3px;flex-shrink:0}.proj-members-role-btn{padding:3px 9px;border:1px solid var(--border-subtle);border-radius:6px;background:none;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.proj-members-role-btn:hover{background:var(--surface-hover)}.proj-members-role-btn--active{background:var(--surface-selected);color:var(--text-accent);border-color:var(--surface-selected);font-weight:600}.proj-members-role-btn--admin.proj-members-role-btn--active{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-bg)}.proj-members-search{display:flex;gap:8px;align-items:center}.proj-primary-btn--sm{padding:6px 12px;font-size:var(--font-caption);white-space:nowrap;flex-shrink:0}.proj-members-search-result{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised)}.proj-owner-picker{display:flex;flex-wrap:wrap;gap:6px}.proj-owner-btn{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:none;cursor:pointer;font-size:var(--font-small);color:var(--text-primary);transition:background .1s,border-color .1s}.proj-owner-btn--active{border-color:var(--border-focus);background:var(--surface-selected);color:var(--text-accent);font-weight:600}.proj-owner-btn__icon{display:flex;align-items:center;flex-shrink:0}.proj-owner-btn__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}@media(max-width:767px){.proj-list{padding:12px}.proj-list__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.proj-template-grid{grid-template-columns:1fr}}.group-view{display:flex;flex-direction:column;height:100%;min-height:0}.group-view__header{display:flex;align-items:center;gap:14px;padding:20px 22px 16px;flex-shrink:0}.group-view__header-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.group-view__header-info{flex:1;min-width:0}.group-view__name{font-size:var(--font-h3);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.group-view__meta{font-size:var(--font-caption);color:var(--text-secondary);margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.group-view__attention-pill{display:inline-flex;align-items:center;gap:4px;background:var(--warning-bg);color:var(--warning);border-radius:999px;font-size:var(--font-caption);font-weight:600;padding:2px 8px}.group-view__invite-btn{margin-left:auto;padding:7px 14px;border-radius:8px;border:none;background:var(--action-bg);color:var(--action-text);font-size:var(--font-caption);font-weight:600;cursor:pointer;transition:background .12s;white-space:nowrap}.group-view__invite-btn:hover{background:var(--action-bg-hover)}.group-view__invite-btn:focus{outline:none}.group-view__header-actions{display:flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0}.group-view__settings-btn{background:none;border:none;border-radius:8px;padding:6px 8px;cursor:pointer;color:var(--text-secondary);transition:background .1s,color .1s;line-height:1;display:flex;align-items:center;justify-content:center}.group-view__settings-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.group-view__tabs{display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.group-view__tab{padding:9px 14px;background:none;border:none;cursor:pointer;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s}.group-view__tab:hover{color:var(--text-primary)}.group-view__tab--active{color:var(--text-primary);border-bottom-color:var(--accent-500);font-weight:600}.group-view__tab:focus{outline:none}.group-view__content{flex:1;min-height:0;overflow-y:auto}.group-view__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;text-align:center}.group-view__empty span:first-child{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.group-view__empty p{font-size:var(--font-small);color:var(--text-secondary);margin:0}.group-view__empty-sub{font-size:var(--font-caption);color:var(--text-secondary);opacity:.6;max-width:260px;line-height:1.5}.group-view__overview{padding:16px;container-type:inline-size;container-name:overview;display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:4px;align-items:start}.gv-ov-cell{min-width:0}.gv-ov-cell--chat{grid-column:1}.gv-ov-cell--coming{grid-column:2}.gv-ov-cell--activity,.gv-ov-cell--members{grid-column:1 / -1}.gv-ov-cell--chat .gv-strip,.gv-ov-cell--coming .gv-strip{margin-bottom:0}@container overview (max-width: 719px){.group-view__overview{display:block}.gv-ov-cell{margin-bottom:4px}.gv-ov-cell--chat .gv-strip,.gv-ov-cell--coming .gv-strip{margin-bottom:18px}}.group-view__members-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.group-view__members-label{font-size:var(--font-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.group-view__members-count{font-size:var(--font-caption);color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;padding:1px 7px}.group-view__members{display:flex;flex-direction:column;gap:2px}.member-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:var(--surface-raised);border:none;cursor:pointer;text-align:left;width:100%;transition:background .12s}.member-row:hover{background:var(--surface-hover)}.member-row__avatar{width:34px;height:34px;border-radius:8px;background:var(--surface-sunken);color:var(--text-primary);font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.member-row__info{flex:1;min-width:0}.member-row__name{font-size:var(--font-small);font-weight:600;color:var(--text-primary)}.member-row__sub{font-size:var(--font-caption);color:var(--text-secondary);margin-top:2px}.member-row__inactive{color:var(--text-muted)}.member-row__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.member-row__attention{display:flex;align-items:center;color:var(--warning)}.member-row--invited{cursor:default;opacity:.7}.member-row--invited:hover{background:var(--tutor_student_row_bg)}.member-row__invited-badge{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;background:var(--warning-bg);color:var(--warning);flex-shrink:0}.group-view__events{padding:16px;display:flex;flex-direction:column}.group-view__events-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.group-view__create-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--action-bg);border:1px solid var(--action-bg);border-radius:7px;color:var(--action-text);font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .15s}.group-view__create-btn:hover{background:var(--action-bg-hover)}.group-view__create-btn svg{flex-shrink:0}.group-view__create-btn:focus{outline:none}.group-view__events-section{margin-bottom:20px}.group-view__events-section-label{font-size:var(--font-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;padding:0 2px}.gv-event-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px 12px 16px;border-radius:9px;background:var(--surface-raised);border:1px solid var(--border-subtle);margin-bottom:6px;position:relative;overflow:hidden;transition:background .15s}.gv-event-card:hover{background:var(--surface-hover)}.gv-event-card--past{opacity:.55}.gv-event-card__accent{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px 0 0 2px;background:var(--event-color, #6b7280)}.gv-event-card__icon{display:flex;align-items:center;flex-shrink:0;margin-top:2px;color:var(--text-secondary)}.gv-event-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.gv-event-card__title-row{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.gv-event-card__title{font-size:var(--font-small);font-weight:600;color:var(--text-primary);flex:1;min-width:0}.gv-event-card__days-pill{flex-shrink:0;font-size:var(--font-caption);font-weight:600;border-radius:999px;padding:2px 8px;white-space:nowrap;background:var(--accent-100);color:var(--accent-600)}.gv-event-card__creator{font-size:var(--font-caption);color:var(--text-secondary);opacity:.7}.gv-event-card__desc{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.4}.gv-event-card__meta{font-size:var(--font-caption);color:var(--text-secondary)}.gv-event-card__rsvp{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:7px}.gv-event-card__rsvp-loading{font-size:var(--font-caption);opacity:.5}.gv-event-card__rsvp-btns{display:flex;gap:4px}.gv-rsvp-btn{flex:1;padding:5px 0;border:1px solid var(--action-bg);border-radius:7px;background:transparent;color:var(--action-bg);font-size:var(--font-caption);font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.gv-rsvp-btn:hover{background:var(--action-bg-hover)}.gv-rsvp-btn--active{background:var(--action-bg);color:var(--action-text)}.gv-event-card__rsvp-counts{display:flex;gap:10px;font-size:var(--font-caption);font-weight:600}.gv-event-card__rsvp-count{display:inline-flex;align-items:center;gap:4px}.gv-create-form{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.gv-create-form__heading{font-size:var(--font-small);font-weight:700;color:var(--text-primary);margin-bottom:2px}.gv-create-form__row{display:flex;gap:8px;flex-wrap:wrap}.gv-create-form__field{display:flex;flex-direction:column;gap:4px}.gv-create-form__field--grow{flex:1;min-width:140px}.gv-create-form__label{font-size:var(--font-caption);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.gv-native-input{padding:7px 10px;border:1px solid var(--field-border);border-radius:7px;font-size:var(--font-small);font-family:inherit;background:var(--field-bg);color:var(--text-primary);box-sizing:border-box;transition:border-color .15s;appearance:none;-webkit-appearance:none}.gv-native-input:focus{outline:none;border-color:var(--border-focus)}.gv-native-input--textarea{resize:vertical;min-height:60px;line-height:1.45}.gv-create-form__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.gv-ghost-btn{padding:7px 14px;background:none;border:1px solid var(--border-subtle);border-radius:7px;font-size:var(--font-small);color:var(--text-secondary);cursor:pointer;opacity:.7;transition:opacity .12s}.gv-ghost-btn:hover{opacity:1}.gv-resources{padding:16px;display:flex;flex-direction:column;gap:4px}.gv-resources__hint{font-size:var(--font-caption);color:var(--text-secondary);background:var(--surface-sunken);border-radius:7px;padding:8px 12px;margin-bottom:8px}.gv-folder{display:flex;flex-direction:column}.gv-folder__row{display:flex;align-items:center;gap:6px;padding:7px 10px;padding-left:calc(10px + var(--depth, 0) * 18px);border-radius:8px;cursor:default;transition:background .12s}.gv-folder__row:hover{background:var(--surface-hover)}.gv-folder__expand{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0 2px;color:var(--text-secondary);width:14px;flex-shrink:0}.gv-folder__icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.gv-folder__name{flex:1;font-size:var(--font-small);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.gv-folder__contents{display:flex;flex-direction:column;gap:2px;padding-left:18px;margin-top:2px}.gv-resource{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface-raised);border:1px solid var(--border-subtle);transition:background .12s}.gv-resource:hover{background:var(--surface-hover)}.gv-resource__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;color:var(--text-secondary)}.gv-resource__name{flex:1;min-width:0;background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0;transition:color .1s}.gv-resource__name:hover{color:var(--text-accent)}.gv-resource__meta{font-size:var(--font-caption);color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.gv-vis-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:var(--font-caption);font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:filter .1s,opacity .1s;white-space:nowrap;line-height:1.4}.gv-vis-pill:hover{filter:brightness(.92)}.gv-vis-pill--public{background:var(--success-bg);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.gv-vis-pill--private{background:var(--field-bg);color:var(--text-secondary);border-color:var(--border-subtle)}.gv-vis-pill:focus{outline:none}.resource-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:var(--surface-raised);border:1px solid var(--border-subtle);transition:background .12s}.resource-row:hover{background:var(--surface-hover)}.resource-row__icon{font-size:var(--font-h2);flex-shrink:0}.resource-row__info{flex:1;min-width:0}.resource-row__name{font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-row__meta{font-size:var(--font-caption);color:var(--text-secondary);margin-top:2px}.resource-row__download{width:28px;height:28px;border-radius:6px;background:var(--surface-sunken);border:none;cursor:pointer;color:var(--text-primary);font-size:var(--font-small);display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;flex-shrink:0}.resource-row__download:hover{background:var(--surface-hover);color:var(--text-primary)}.gv-strip{margin-bottom:18px}.gv-strip__header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 2px}.gv-strip__title{font-size:var(--font-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.gv-strip__list{display:flex;flex-direction:column;gap:4px}.gv-coming-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;text-align:left;width:100%;transition:background .12s}.gv-coming-row:hover{background:var(--surface-hover)}.gv-coming-row:focus{outline:none}.gv-coming-row__icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.gv-coming-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gv-coming-row__title{font-size:var(--font-small);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-coming-row__sub{font-size:var(--font-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-coming-row__when{flex-shrink:0;font-size:var(--font-caption);font-weight:600;color:var(--text-accent);white-space:nowrap}.gv-activity-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:transparent;border:none;cursor:pointer;text-align:left;width:100%;transition:background .12s}.gv-activity-row:hover{background:var(--surface-hover)}.gv-activity-row:focus{outline:none}.gv-activity-row__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;color:var(--text-secondary)}.gv-activity-row__text{flex:1;min-width:0;font-size:var(--font-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-activity-row__time{flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary);white-space:nowrap}.gv-chat-preview__open{margin-left:auto;background:none;border:none;cursor:pointer;font-size:var(--font-caption);font-weight:600;color:var(--accent-500);padding:0}.gv-chat-preview__open:hover{text-decoration:underline}.gv-chat-preview__open:focus{outline:none}.gv-chat-preview{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:12px;border-radius:10px;background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;transition:background .12s}.gv-chat-preview:hover{background:var(--surface-hover)}.gv-chat-preview:focus{outline:none}.gv-chat-preview__empty{width:100%;text-align:center;padding:16px 12px;border-radius:10px;background:var(--surface-raised);border:1px dashed var(--border-subtle);cursor:pointer;font-size:var(--font-caption);color:var(--text-secondary);transition:background .12s}.gv-chat-preview__empty:hover:not(:disabled){background:var(--surface-hover)}.gv-chat-preview__empty:disabled{cursor:default;opacity:.7}.gv-chat-preview__empty:focus{outline:none}.gv-chat-msg{display:flex;align-items:flex-start;gap:8px}.gv-chat-msg__avatar{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:700;background:var(--surface-sunken);color:var(--text-primary);overflow:hidden}.gv-chat-msg__avatar img{width:100%;height:100%;object-fit:cover}.gv-chat-msg__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.gv-chat-msg__sender{font-size:var(--font-caption);font-weight:600;color:var(--text-primary)}.gv-chat-msg__text{font-size:var(--font-small);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gv-chat-msg__text--system{font-style:italic;opacity:.85}@media(max-width:767px){.group-view__header{padding:16px 16px 12px;gap:10px}.group-view__name{font-size:var(--font-body)}.group-view__tabs{padding:0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}.group-view__tabs::-webkit-scrollbar{display:none}.group-view__tab{padding:10px 16px;font-size:var(--font-small);white-space:nowrap;flex-shrink:0}.group-view__events,.gv-resources{padding:12px}.gv-resource{padding:10px 12px}.gv-resource__name{font-size:var(--font-small)}.gv-resource__meta{font-size:var(--font-caption)}.gv-vis-pill{font-size:var(--font-caption);padding:4px 10px}.gv-event-card{padding:12px 12px 12px 16px}.gv-event-card__title,.gv-event-card__desc{font-size:var(--font-small)}.gv-event-card__meta{font-size:var(--font-caption)}.gv-event-card__days-pill{font-size:var(--font-caption);padding:3px 9px}.gv-rsvp-btn{font-size:var(--font-caption)}.gv-create-form{padding:12px}.gv-create-form__row{gap:6px}.gv-create-form__field--grow{min-width:100%}.group-view__resources{padding:12px}.resource-row{padding:12px;border-radius:8px}.resource-row__name{font-size:var(--font-small)}.resource-row__meta{font-size:var(--font-caption)}.resource-row__download{width:34px;height:34px;font-size:var(--font-body)}.group-view__overview{padding:12px}.member-row{padding:12px;border-radius:8px}.member-row__name{font-size:var(--font-small)}.member-row__sub{font-size:var(--font-caption)}.gv-coming-row{padding:12px}.gv-activity-row{padding:10px 12px}.gv-activity-row__text{font-size:var(--font-small)}.gv-chat-preview{padding:12px}}.student-detail{padding:24px}.student-detail__header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.student-detail__avatar{width:52px;height:52px;border-radius:50%;background:var(--tutor_student_detail_avatar_bg);border:2px solid var(--tutor_student_detail_avatar_bg);display:flex;align-items:center;justify-content:center;font-size:var(--font-body);font-weight:700;color:var(--tutor_student_detail_text_name);flex-shrink:0}.student-detail__header-info{flex:1;min-width:0}.student-detail__name{font-size:var(--font-h3);font-weight:700;color:var(--tutor_student_detail_text_name)}.student-detail__meta{font-size:var(--font-caption);color:var(--tutor_student_detail_text_meta);margin-top:2px}.student-detail__stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.student-detail__section-title{font-size:var(--font-small);font-weight:600;color:var(--tutor_student_detail_section_title);margin-bottom:12px}.student-detail__loading,.student-detail__empty{padding:40px;text-align:center;color:var(--tutor_student_detail_text_meta);font-size:var(--font-small)}.student-detail__lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}@media(max-width:640px){.student-detail__lists{grid-template-columns:1fr}.student-detail{padding:16px}.student-detail__header{flex-wrap:wrap}}.list-card{display:flex;flex-direction:column;gap:10px;background:var(--tutor_list_card_bg);border:1px solid var(--tutor_list_card_border);border-radius:10px;padding:16px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .12s ease,background .12s ease;width:100%}.list-card:hover{border-color:var(--tutor_list_card_border);background:var(--tutor_list_card_bg_hover)}.list-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.list-card__info{flex:1;min-width:0}.list-card__name{font-size:var(--font-small);font-weight:600;color:var(--tutor_list_card_text_name);margin-bottom:4px}.list-card__meta{font-size:var(--font-caption);color:var(--tutor_list_card_text_meta)}.list-card__right{flex-shrink:0}.list-card__footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-card__no-snapshot{font-size:var(--font-caption);color:var(--tutor_list_card_text_no_snapshot);font-style:italic}.list-detail{padding:24px;height:100%;box-sizing:border-box;overflow-y:auto;min-height:0}.list-detail__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.list-detail__header-info{flex:1;min-width:0}.list-detail__name{font-size:var(--font-h3);font-weight:700;color:var(--tutor_student_detail_text_name)}.list-detail__meta{font-size:var(--font-caption);color:var(--tutor_student_detail_text_meta);margin-top:2px}.list-detail__stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:24px}.list-detail__section{margin-bottom:24px}.list-detail__section-title{font-size:var(--font-small);font-weight:600;color:var(--tutor_student_detail_section_title);margin-bottom:10px}.list-detail__loading,.list-detail__empty{padding:32px;text-align:center;color:var(--tutor_student_detail_text_meta);font-size:var(--font-small)}.list-detail__subjects{display:flex;flex-direction:column;gap:4px}.subject-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--tutor_subject_row_bg);border:1px solid var(--tutor_subject_row_border);border-radius:6px}.subject-row__name{font-size:var(--font-caption);font-weight:600;color:var(--tutor_subject_row_text_name)}.subject-row__right{display:flex;align-items:center;gap:10px}.subject-row__score{font-size:var(--font-caption);font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--tutor_student_detail_section_title);width:28px;text-align:right}.list-detail__questions{background:var(--tutor_question_row_bg);border:1px solid var(--tutor_question_row_border);border-radius:10px;overflow:hidden}.question-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--tutor_question_row_border)}.question-row:last-child{border-bottom:none}.question-row__content{flex:1;min-width:0}.question-row__question{font-size:var(--font-small);color:var(--tutor_question_row_text_question);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-row__answer{font-size:var(--font-caption);color:var(--tutor_question_row_text_answer);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-row__state{font-size:var(--font-caption);color:var(--tutor_question_row_text_answer);width:60px;text-align:right;flex-shrink:0}@media(max-width:1023px){.list-detail{padding:18px}.list-detail__name{font-size:var(--font-body)}.list-detail__stats{gap:6px}.question-row{padding:10px 12px;gap:8px}.question-row__question,.question-row__answer{font-size:var(--font-caption)}.question-row__state{width:52px;font-size:var(--font-caption)}}@media(max-width:767px){.list-detail{padding:14px}.list-detail__header{gap:10px;margin-bottom:14px}.list-detail__name{font-size:var(--font-body)}.list-detail__stats,.list-detail__section{margin-bottom:16px}.list-detail__section-title{font-size:var(--font-caption);margin-bottom:6px}.question-row{flex-wrap:wrap;gap:4px;padding:10px 12px}.question-row__content{min-width:0}.question-row__question{white-space:normal;font-size:var(--font-small);line-height:1.4}.question-row__answer{white-space:normal;font-size:var(--font-caption);line-height:1.3}.question-row__state{width:auto;text-align:left;flex-basis:100%;padding-top:2px}.subject-row{padding:8px 12px}.subject-row__name{font-size:var(--font-caption)}}.ap{display:flex;flex-direction:column;width:100%;border:1px solid var(--panel1_border, rgba(0,0,0,.1));border-radius:8px;overflow:hidden}.ap__header{display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:38px;border-bottom:1px solid var(--panel1_border, rgba(0,0,0,.08));background:var(--panel1_bg_secondary, rgba(0,0,0,.025))}.ap[data-collapsed=true] .ap__header{border-bottom:none}.ap__summary{flex:1;display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden}.ap__pills{display:flex;gap:4px;overflow:hidden;flex-wrap:nowrap}.ap__pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:99px;font-size:var(--font-caption);font-weight:600;white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}.ap__pill--group{background:var(--panel1_accent_bg, rgba(99,102,241,.12));color:var(--panel1_text_interactive, #6366f1)}.ap__pill--student{background:#8b5cf61a;color:#8b5cf6}.ap__pill--more{background:var(--panel1_bg_tertiary, rgba(0,0,0,.07));color:var(--panel1_text_secondary, #888)}.ap__collapse-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--panel1_text_secondary, #aaa);cursor:pointer;transition:background .12s,color .12s}.ap__collapse-btn:hover{background:var(--panel1_bg_tertiary, rgba(0,0,0,.07));color:var(--panel1_text_primary, #333)}.ap[data-collapsed=true] .ap__collapse-btn .ap__chevron{transform:rotate(-90deg)}.ap__body{display:flex;flex-direction:column}.ap__search-row{border-bottom:1px solid var(--panel1_border, rgba(0,0,0,.07))}.ap__search-row .flex-textfield-container{gap:0}.ap__search-row .flex-textfield-field{border:none!important;border-radius:0!important;min-height:36px!important;padding:0 12px!important}.ap__error-row{padding:5px 12px}.ap__loading{display:flex;align-items:center;gap:8px;padding:14px 12px}.ap__sections{display:flex;flex-direction:column}.ap__section{border-bottom:1px solid var(--panel1_border, rgba(0,0,0,.06))}.ap__section:last-child{border-bottom:none}.ap__section-hd{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .1s;color:var(--panel1_text_secondary, #888)}.ap__section-hd:hover{background:var(--panel1_bg_secondary, rgba(0,0,0,.025))}.ap__section-tally{display:flex;align-items:center;gap:1px;margin-right:2px}.ap__section-body{display:flex;flex-direction:column;gap:1px;max-height:180px;overflow-y:auto;padding:4px 6px;scrollbar-width:thin;scrollbar-color:var(--panel1_border, #ddd) transparent}.ap__section-body::-webkit-scrollbar{width:4px}.ap__section-body::-webkit-scrollbar-thumb{background:var(--panel1_border, #ddd);border-radius:2px}.ap__empty{padding:8px 6px}.ap__item{display:flex;align-items:center;gap:8px;padding:5px 6px;border:none;border-radius:6px;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .1s}.ap__item:hover:not(:disabled){background:var(--panel1_bg_secondary, rgba(0,0,0,.04))}.ap__item--on{background:var(--panel1_accent_bg, rgba(99,102,241,.06))}.ap__item--on:hover:not(:disabled){background:var(--panel1_accent_bg, rgba(99,102,241,.1))}.ap__item:disabled{opacity:.5;cursor:not-allowed}.ap__avatar{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:700;color:#fff;overflow:hidden}.ap__avatar--group{background:var(--panel1_text_interactive, #6366f1);border-radius:7px}.ap__avatar--student{background:#8b5cf6;border-radius:50%}.ap__avatar img{width:100%;height:100%;object-fit:cover}.ap__item-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.ap__item-info .flex-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ap__item-action{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--panel1_text_tertiary, #ccc)}.ap__item--on .ap__item-action{color:var(--panel1_text_interactive, #6366f1)}.ap__chevron{transition:transform .18s ease;flex-shrink:0}.ap__chevron--closed{transform:rotate(-90deg)}.ap__spinner{display:inline-block;width:13px;height:13px;border:1.5px solid var(--panel1_border, #ddd);border-top-color:var(--panel1_text_interactive, #6366f1);border-radius:50%;animation:ap-spin .6s linear infinite;flex-shrink:0}.ap__spinner--sm{width:11px;height:11px}@keyframes ap-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.ap__section-body{max-height:150px}}.vp{display:flex;flex-direction:column;gap:8px}.vp__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.vp__row--group{padding:2px 0}.vp__row-text{display:flex;flex-direction:column;gap:1px;min-width:0}.vp__divider{height:1px;background:var(--panel1_border);margin:2px 0}.vp__groups{display:flex;flex-direction:column;gap:6px}.ssp{display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle)}.ssp__summary{padding:10px 12px 8px;border-bottom:1px solid var(--border-subtle)}.ssp__search{border-bottom:1px solid var(--border-subtle)}.ssp__error{padding:6px 12px;background:var(--danger-bg)}.ssp__loading{display:flex;align-items:center;gap:8px;padding:16px 12px}.ssp__sections{display:flex;flex-direction:column}.ssp__section{display:flex;flex-direction:column;border-bottom:1px solid var(--border-subtle)}.ssp__section:last-child{border-bottom:none}.ssp__section-hd{display:flex;align-items:center;gap:6px;padding:8px 12px;background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:background .1s}.ssp__section-hd:hover{background:var(--surface-hover)}.ssp__section-icon{font-size:var(--font-small)}.ssp__chevron{font-size:var(--font-caption);color:var(--text-muted);transition:transform .15s;flex-shrink:0}.ssp__chevron--closed{transform:rotate(-90deg)}.ssp__section-body{display:flex;flex-direction:column;max-height:220px;overflow-y:auto}.ssp__empty{padding:10px 12px}.ssp__item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:background .1s}.ssp__item:hover{background:var(--surface-hover)}.ssp__item--on,.ssp__item--on:hover{background:var(--surface-selected)}.ssp__item:disabled{opacity:.6;cursor:default}.ssp__avatar{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:800;flex-shrink:0;background:var(--surface-sunken)}.ssp__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ssp__item-action{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.ssp__item--on .ssp__item-action{color:var(--text-accent)}.ssp__spinner{width:14px;height:14px;border:2px solid var(--border-subtle);border-top-color:var(--accent-500);border-radius:50%;animation:ssp-spin .6s linear infinite;flex-shrink:0}.ssp__spinner--sm{width:12px;height:12px}@keyframes ssp-spin{to{transform:rotate(360deg)}}.list-meta-form{display:flex;flex-direction:column;gap:14px}.list-meta-form__field{display:flex;flex-direction:column;gap:5px}.list-meta-form__label{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-caption)}.list-meta-form__assignment-placeholder{font-size:var(--font-caption);padding:7px 10px;border-radius:6px;background:var(--tutor_list_meta_assignment_bg);border:1px solid var(--tutor_list_meta_assignment_border);color:var(--tutor_list_meta_assignment_text)}.subject-row__inner{display:flex;align-items:center;gap:10px;padding:7px 12px;width:100%}.subject-row__index{width:20px;text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums}.subject-row__view{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:2px}.subject-row__edit{flex:1;min-width:0;display:flex;flex-direction:column}.subject-row__actions{display:flex;gap:4px;flex-shrink:0}.subject-row .flex-panel-children{width:100%;height:100%}.cloze-editor__hint,.hotspot-editor__hint,.ordering-editor__hint,.construct-editor__hint{font-size:var(--font-caption);color:var(--panel1_text_secondary);margin:0 0 8px;opacity:.7}.multiple-choice-editor{display:flex;flex-direction:column;gap:6px}.multiple-choice-editor__option{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;border:1px solid transparent;transition:background .12s,border-color .12s}.multiple-choice-editor__option--correct{background:var(--panel1_accent);border-color:var(--panel1_accent_border)}.multiple-choice-editor__letter{font-size:var(--font-caption);font-weight:700;color:var(--panel1_text_primary);width:16px;flex-shrink:0}.fill-blank-editor{display:flex;flex-direction:column;gap:6px}.matching-editor__pair .flex-textfield-container{flex:1 1 0%;min-width:0}@container qpanels (max-width: 420px){.matching-editor__pair{flex-wrap:wrap}.matching-editor__pair .flex-textfield-container{flex:1 1 100%}.matching-editor__arrow{display:none}}.matching-editor{display:flex;flex-direction:column;gap:6px}.matching-editor__pair{display:flex;align-items:center;gap:6px;min-width:0}.matching-editor__arrow{font-size:var(--font-small);color:var(--panel1_text_secondary);flex-shrink:0}.ordering-editor,.construct-editor{display:flex;flex-direction:column;gap:4px}.ordering-editor__item,.construct-editor__item{display:flex;align-items:center;gap:8px}.ordering-editor__num,.construct-editor__num{font-size:var(--font-caption);font-weight:700;color:var(--panel1_text_secondary);width:18px;text-align:center;flex-shrink:0}.error-spotting-editor{display:flex;flex-direction:column;gap:6px}.open-answer-editor{display:flex;flex-direction:column}.cloze-editor{display:flex;flex-direction:column;gap:6px}.hotspot-editor{display:flex;flex-direction:column;gap:8px}.cloze-editor__controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cloze-editor__blank-count{margin-left:2px;font-weight:600}.cloze-editor__tokens{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;padding:10px 12px;background:var(--panel1_bg);border:1px solid var(--panel1_border);border-radius:6px;line-height:1.9;font-size:var(--font-small);min-height:60px}.cloze-editor__token--space{white-space:pre;display:inline}.cloze-editor__token--word{display:inline;background:none;border:1px solid transparent;border-radius:4px;padding:1px 3px;margin:0;cursor:pointer;font-size:inherit;font-family:inherit;line-height:inherit;color:var(--panel1_text_primary);transition:background .1s,border-color .1s}.cloze-editor__token--word:hover{background:var(--panel1_accent);border-color:var(--panel1_accent_border)}.cloze-editor__token--blank{background:var(--panel1_accent)!important;border-color:var(--panel1_interactive)!important;color:var(--panel1_text_interactive);font-weight:700}.cloze-editor__token--blank:hover{opacity:.85}.hotspot-editor__upload-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:1px dashed var(--panel1_border);border-radius:6px;cursor:pointer;font-size:var(--font-small);font-weight:600;color:var(--panel1_text_secondary);background:var(--panel1_bg);transition:background .12s,border-color .12s;align-self:flex-start;font-family:inherit}.hotspot-editor__upload-btn:hover{background:var(--panel1_accent);border-color:var(--panel1_interactive)}.hotspot-editor__upload-btn--loading{opacity:.6;cursor:wait;pointer-events:none}.hotspot-editor__upload-btn--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.hotspot-editor__canvas{position:relative;display:block;cursor:crosshair;border-radius:6px;overflow:hidden;border:1px solid var(--panel1_border);background:var(--panel1_bg);-webkit-user-select:none;user-select:none;line-height:0}.hotspot-editor__image{display:block;width:100%;max-height:300px;object-fit:contain;pointer-events:none}@media(max-width:639px){.hotspot-editor__image{max-height:200px}}.hotspot-editor__canvas-hint{position:absolute;bottom:6px;right:8px;font-size:var(--font-caption);font-family:inherit;color:#fff;background:#00000073;padding:2px 7px;border-radius:999px;pointer-events:none;line-height:1.6}.hotspot-editor__region{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--panel1_interactive);border:2px solid #fff;display:flex;align-items:center;justify-content:center;cursor:default;box-shadow:0 2px 6px #00000059;transition:transform .1s,box-shadow .1s;z-index:1;-webkit-tap-highlight-color:transparent}.hotspot-editor__region:before{content:"";position:absolute;inset:-9px;border-radius:50%}.hotspot-editor__region--active,.hotspot-editor__region:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 3px 10px #0006;z-index:2}.hotspot-editor__region-num{font-size:var(--font-caption);font-weight:700;color:#fff;line-height:1;pointer-events:none}.hotspot-editor__region-delete{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;background:#e53e3e;border:1.5px solid #fff;color:#fff;font-size:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;font-family:inherit;transition:background .12s;-webkit-tap-highlight-color:transparent}.hotspot-editor__region-delete:before{content:"";position:absolute;inset:-6px;border-radius:50%}.hotspot-editor__region-delete:hover{background:#c53030}.hotspot-editor__replace-btn{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--panel1_border);border-radius:6px;cursor:pointer;font-size:var(--font-caption);font-family:inherit;color:var(--panel1_text_secondary);background:none;align-self:flex-start;transition:background .12s}.hotspot-editor__replace-btn:hover{background:var(--panel1_accent)}.hotspot-editor__labels{display:flex;flex-direction:column;gap:5px}.hotspot-editor__label-row{display:flex;align-items:center;gap:8px}.hotspot-editor__label-num{width:22px;height:22px;border-radius:50%;background:var(--panel1_interactive);color:#fff;font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.hotspot-editor__error{font-size:var(--font-caption);color:var(--panel1_text_error, #e53e3e);margin:0}.flex-textarea-container{display:flex;flex-direction:column;gap:var(--flex-field-gap, .5rem);width:100%}.flex-textarea-label{font-weight:500;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.flex-textarea-field{display:flex;width:100%;border-style:solid;transition:border-color .2s ease,border-width .2s ease;box-sizing:border-box;background-color:var(--flex-textarea-bg, var(--field-bg));border-color:var(--flex-textarea-border, var(--field-border));color:var(--flex-textarea-text, var(--text-primary))}.flex-textarea-field.focused{border-color:var(--flex-textarea-border-focus, var(--border-focus))}.flex-textarea-field.disabled{opacity:.5;cursor:not-allowed}.flex-textarea-input{flex:1;border:none;outline:none;background:inherit;color:inherit;font-family:inherit;padding:0;width:100%;min-width:0;line-height:1.5;box-sizing:border-box;appearance:none;-webkit-appearance:none;box-shadow:none;border-radius:0}.flex-textarea-input:disabled{cursor:not-allowed}.flex-textarea-input:read-only{cursor:default;opacity:.7}.flex-textarea-input::placeholder{opacity:1;color:var(--field-placeholder)}.flex-textarea-input::selection{background-color:var(--accent-200);color:var(--text-primary)}@media(max-width:768px){:root{--flex-field-gap: .375rem}}@media(max-width:480px){:root{--flex-field-gap: .25rem}}.media-uploader{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px}.media-uploader__preview{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;touch-action:none;transition:opacity .12s}.media-uploader__preview:hover{opacity:.85}.media-uploader__icon-preview{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:var(--font-h1)}.media-uploader__img{width:80px;height:80px;object-fit:cover;display:block}.media-uploader__remove{position:absolute;top:3px;right:3px;background:var(--panel1_accent);color:var(--panel1_text_interactive);border:none;border-radius:4px;width:18px;height:18px;font-size:var(--font-caption);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .12s;opacity:0;transition:opacity .12s,background .12s}@media(hover:hover){.media-uploader__preview:hover .media-uploader__remove{opacity:1}}@media(hover:none){.media-uploader__remove{opacity:1}}.media-uploader__remove:hover{background:var(--panel1_accent_hover)}.media-uploader__order{position:absolute;top:3px;left:3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--panel1_interactive);color:#fff;font-size:var(--font-caption);font-weight:700;line-height:16px;text-align:center;pointer-events:none;z-index:1}.media-uploader__add{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border:1px dashed var(--panel1_border);border-radius:6px;cursor:pointer;font-size:var(--font-caption);font-weight:600;color:var(--panel1_text_secondary);transition:background .12s;text-align:center}.media-uploader__add:hover{background:var(--panel1_accent)}.media-uploader__add--loading{opacity:.6;cursor:wait}.media-uploader__error{font-size:var(--font-caption);color:var(--panel1_text_error, #e53e3e);align-self:center}.notes-panel{display:flex;flex-direction:column;height:100%;padding:14px;box-sizing:border-box;gap:8px}.notes-panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-shrink:0}.notes-panel__hint{opacity:.45}.question-panels__col-content .notes-panel__header{display:none}.notes-panel .flex-textfield-field,.notes-panel textarea{min-height:80px;max-height:300px;resize:vertical}.question-panels{display:flex;align-items:flex-start;width:100%;align-items:stretch}.question-panels__edit{flex:1 1 0%;min-width:0;border-right:1px solid var(--panel1_border)}.question-panels__aux{flex-shrink:0;width:400px;display:flex}.question-panels__panel{flex:1 1 0%;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--panel1_border)}.question-panels__panel:last-child{border-right:none}.question-panels__panel-header{flex-shrink:0;padding:6px 10px;border-bottom:1px solid var(--panel1_border)}.question-panels__panel-label{text-transform:uppercase;letter-spacing:.05em}.question-panels__panel-body .notes-panel__header{display:none}.question-panels--narrow{flex-direction:column}.question-panels__tabs{display:flex;width:100%;border-bottom:1px solid var(--panel1_border);flex-shrink:0}.question-panels__tab{flex:1 1 0%;background:none;border:none;cursor:pointer;padding:10px 8px;min-height:44px;font-family:inherit;position:relative;-webkit-tap-highlight-color:transparent}.question-panels__tab--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--panel1_interactive)}.question-panels__tab-body{width:100%}.question-panels__tab-body .notes-panel__header{display:none}.question-panels__strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 12px;width:100%;box-sizing:border-box;border-bottom:1px solid var(--panel1_border)}.question-panels__strip-index{grid-column:1;min-width:20px;text-align:center}.question-panels__strip-actions{grid-column:2;display:flex;gap:6px;justify-content:center}.question-base__type-row{margin-bottom:4px}.question-base__type-row .flex-select-container{width:100%}.media-stepper{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin-bottom:16px}.media-stepper__viewer{display:inline-flex;align-items:center;justify-content:center;max-width:100%;border-radius:10px;overflow:hidden;background:#0000000f}.media-stepper__image,.media-stepper__video{display:block;width:auto;height:auto;max-width:100%;max-height:min(40vh,320px);border-radius:10px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.media-stepper__audio{width:100%;max-width:360px}.media-stepper__controls{display:flex;align-items:center;gap:12px;font-size:13px;opacity:.85}.media-stepper__btn{appearance:none;background:#80808026;border:1px solid rgba(128,128,128,.25);color:inherit;width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.media-stepper__btn:hover:not(:disabled){background:#80808040}.media-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.media-stepper__counter{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;opacity:.7}.fc-card{display:flex;flex-direction:column;gap:16px;width:100%;max-width:680px;margin:0 auto}.fc-card__meta{display:flex;align-items:center;justify-content:space-between}.fc-card__badge{font-size:var(--font-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.4;padding:2px 7px;border:1px solid rgba(128,128,128,.25);border-radius:5px;color:var(--study_question_text)}.fc-card__question{width:100%}.fc-card__question-inner{padding:32px;display:flex;align-items:center;justify-content:center;min-height:130px}.fc-card__turn-btn{align-self:center;padding:12px 40px;border:2px solid transparent;border-radius:10px;background:var(--action-bg);color:var(--action-text);font-size:var(--font-body);font-weight:500;cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s ease,border-color .15s ease}.fc-card__turn-btn--hovered{background:var(--action-bg-hover);transform:scale(1.04)}.fc-card__answer{display:flex;flex-direction:column;gap:14px;padding:30px 44px;border:2px solid var(--border-subtle);border-radius:12px;background:var(--surface-raised);animation:answer-in .25s cubic-bezier(.34,1.56,.64,1)}.fc-card__circles{display:flex;justify-content:center;gap:16px;padding-top:8px}.fc-card__circle{display:flex;flex-direction:column;align-items:center;width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;position:relative}.fc-card__circle:hover{transform:scale(1.15)}.fc-card__circle:active{transform:scale(.92)}.fc-card__circle-label{position:absolute;bottom:-20px;font-size:var(--font-caption);font-weight:600;opacity:.5;white-space:nowrap;color:var(--study_question_text);pointer-events:none}.fc-answer-inline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px;font-size:var(--font-body);line-height:2;text-align:center}.fc-answer-text{color:var(--study_question_text);white-space:pre}.fc-answer-blank{display:inline-block;padding:1px 8px;border-radius:5px;background:#4caf5026;border:1px solid rgba(76,175,80,.4);color:var(--study_confidence_easy);font-weight:600}.fc-answer-pair{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;background:#8080800d}.fc-answer-pair__left{flex:1;font-size:var(--font-small);font-weight:500;color:var(--study_question_text)}.fc-answer-pair__arrow{opacity:.4;font-size:var(--font-small);flex-shrink:0}.fc-answer-pair__right{flex:1;font-size:var(--font-small);color:var(--study_confidence_easy);font-weight:500}.fc-hotspot-question{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center}.fc-hotspot-frame{position:relative;display:inline-block;border-radius:10px;overflow:hidden;background:#00000014;max-width:100%}.fc-hotspot-img{display:block;width:auto;height:auto;max-width:100%;max-height:min(50vh,360px);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.fc-hotspot-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:3px;animation:hs-pop .25s cubic-bezier(.34,1.56,.64,1) both}.fc-hotspot-dot{width:14px;height:14px;border-radius:50%;background:var(--study_confidence_easy);border:2px solid white;box-shadow:0 2px 6px #00000040}.fc-hotspot-label{background:var(--study_confidence_easy);color:#fff;font-size:var(--font-caption);font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}@keyframes hs-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.fc-error-row{display:flex;flex-direction:column;gap:4px}.card-base{display:flex;flex-direction:column;gap:16px;width:100%;max-width:680px;margin:0 auto;padding:8px 0}.card-meta{display:flex;align-items:center;justify-content:space-between}.card-mode-badge{font-size:var(--font-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.4;padding:2px 7px;border:1px solid rgba(128,128,128,.25);border-radius:5px;color:var(--study_question_text)}.card-question-panel{width:100%}.card-question-content{padding:28px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;gap:16px}@keyframes verdict-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.card-answer-area{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:60px}.card-answer-area--correct{background:#4caf5014;border-radius:12px;transition:background .2s ease}.card-answer-area--wrong{background:#f4433612;border-radius:12px;transition:background .2s ease}.card-answer-content{width:100%;border:2px solid var(--study_answer_border);border-radius:12px;padding:20px 24px;background:var(--study_answer_bg);display:flex;flex-direction:column;gap:16px;animation:answer-in .25s cubic-bezier(.34,1.56,.64,1)}@keyframes answer-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card-turn-btn{padding:12px 36px;border:2px solid var(--study_turn_btn_border);border-radius:10px;background:var(--study_turn_btn_bg);color:var(--study_turn_btn_text);font-size:var(--font-body);font-weight:500;cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s ease,border-color .15s ease}.card-turn-btn:hover{background:var(--study_turn_btn_bg_hover);border-color:var(--study_countdown_ring_arc);transform:scale(1.03)}.card-grade-row{display:flex;gap:12px;justify-content:center;padding-top:4px}.card-grade-btn{display:flex;align-items:center;gap:7px;padding:10px 28px;border-radius:10px;border:2px solid transparent;cursor:pointer;font-size:var(--font-small);font-weight:600;transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity .15s ease}.card-grade-btn:hover{transform:scale(1.05)}.card-grade-btn:active{transform:scale(.95)}.card-grade-btn--correct{background:#4caf5026;border-color:#4caf5066;color:var(--study_confidence_easy)}.card-grade-btn--correct:hover{background:#4caf5038}.card-grade-btn--wrong{background:#f443361f;border-color:#f4433659;color:var(--study_confidence_hard)}.card-grade-btn--wrong:hover{background:#f443362e}.card-grade-btn__icon{font-size:var(--font-body)}.card-grade-btn__label{line-height:1}.card-notes{padding-top:4px;border-top:1px solid rgba(128,128,128,.15)}.mc-options{display:flex;flex-direction:column;gap:8px;width:100%}.mc-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--study_card_border);border-radius:10px;background:transparent;cursor:pointer;text-align:left;font-size:var(--font-small);transition:border-color .15s ease,background .15s ease,transform .1s ease;color:var(--study_question_text)}.mc-option:hover:not(:disabled){border-color:var(--study_countdown_arc);transform:translate(3px)}.mc-option--selected{border-color:var(--study_countdown_arc);background:#8080ff14}.mc-option--correct{border-color:var(--study_confidence_easy);background:#4caf501f}.mc-option--wrong{border-color:var(--study_confidence_hard);background:#f443361f}.mc-option--idle:disabled{opacity:.5}.mc-option__letter{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#80808026;font-size:var(--font-caption);font-weight:700;flex-shrink:0}.fib-sentence{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px;line-height:2;text-align:center;font-size:var(--font-body)}.fib-inline-input{display:inline-block;border:none;border-bottom:2px solid var(--study_countdown_arc);background:transparent;color:var(--study_question_text);font-size:var(--font-body);font-family:inherit;text-align:center;outline:none;padding:2px 6px;transition:border-color .15s ease,min-width .15s ease}.fib-inline-input:focus{border-bottom-color:var(--study_confidence_easy)}.fib-inline-input::placeholder{opacity:.3}.fib-answer-inline{display:inline-block;padding:2px 10px;border-radius:6px;background:#4caf5026;border:1px solid rgba(76,175,80,.4);color:var(--study_confidence_easy);font-size:var(--font-body);font-weight:600;font-family:inherit}.cloze-sentence{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0;line-height:2.2;font-size:var(--font-body);text-align:center;padding:0 8px}.cloze-text{white-space:pre;color:var(--study_question_text)}.cloze-input{display:inline-block;border:none;border-bottom:2px solid var(--study_countdown_arc);background:transparent;color:var(--study_question_text);font-size:var(--font-body);font-family:inherit;text-align:center;outline:none;padding:1px 4px;min-width:60px;transition:border-color .15s ease,width .1s ease;vertical-align:baseline}.cloze-input:focus{border-bottom-color:var(--study_confidence_easy)}.cloze-input::placeholder{opacity:.3}.cloze-filled{display:inline-block;padding:1px 8px;border-radius:5px;font-size:var(--font-body);font-weight:600;font-family:inherit;vertical-align:baseline}.cloze-filled--correct{background:#4caf5026;border:1px solid rgba(76,175,80,.4);color:var(--study_confidence_easy)}.cloze-filled--wrong{background:#f443361f;border:1px solid rgba(244,67,54,.35);color:var(--study_confidence_hard)}.matching-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;width:100%;gap:0}.matching-col{display:flex;flex-direction:column;gap:6px}.matching-divider{width:1px;background:#80808026;align-self:stretch;margin:0 12px}.matching-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:2px solid rgba(128,128,128,.2);border-radius:10px;cursor:pointer;min-height:44px;font-size:var(--font-small);line-height:1.4;transition:border-color .15s ease,background .15s ease,transform .15s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none;color:var(--study_question_text)}.matching-item--left{justify-content:space-between}.matching-item--right{justify-content:flex-start;flex-direction:row-reverse}.matching-item:hover:not(.matching-item--paired){border-color:#80808066;transform:scale(1.02)}.matching-item--selected{border-color:var(--study_countdown_arc)!important;background:#7c6af71a!important;transform:scale(1.03)!important}.matching-item--paired:hover{opacity:.8;transform:scale(1.01)}.matching-item--correct{border-color:var(--study_confidence_easy)!important;background:#4caf501a!important}.matching-item--wrong{border-color:var(--study_confidence_hard)!important;background:#f4433614!important}.matching-item__label{flex:1;min-width:0;word-break:break-word}.matching-item__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;opacity:.9}.matching-item__verdict{font-size:var(--font-small);flex-shrink:0}.matching-item--correct .matching-item__verdict{color:var(--study_confidence_easy)}.matching-item--wrong .matching-item__verdict{color:var(--study_confidence_hard)}.matching-hint{text-align:center;opacity:.45;font-size:var(--font-caption);margin-top:-8px}@media(max-width:480px){.matching-grid{grid-template-columns:1fr}.matching-divider{height:1px;width:100%;margin:8px 0}.matching-item--right{flex-direction:row}}.ordering-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:start;width:100%}.ordering-divider{width:1px;background:#80808026;align-self:stretch;margin:0 12px}.ordering-slots{display:flex;flex-direction:column;gap:6px}.ordering-slot{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid rgba(128,128,128,.2);border-radius:10px;cursor:pointer;min-height:46px;transition:border-color .15s ease,background .15s ease,transform .1s ease;-webkit-user-select:none;user-select:none}.ordering-slot--empty{border-style:dashed}.ordering-slot--empty:hover{border-color:#80808066;border-style:dashed}.ordering-slot--selected{border-color:var(--study_countdown_arc)!important;background:#7c6af714!important;transform:scale(1.02)}.ordering-slot--correct{border-color:var(--study_confidence_easy)!important;background:#4caf501a!important}.ordering-slot--wrong{border-color:var(--study_confidence_hard)!important;background:#f4433614!important}.ordering-slot__position{font-size:var(--font-caption);font-weight:700;opacity:.6;flex-shrink:0;min-width:28px;text-transform:uppercase;letter-spacing:.04em}.ordering-slot__label{flex:1;font-size:var(--font-small);line-height:1.4;cursor:grab}.ordering-slot__label:active{cursor:grabbing}.ordering-slot__placeholder{flex:1;font-size:var(--font-caption);opacity:.3;font-style:italic}.ordering-slot__verdict{font-size:var(--font-small);flex-shrink:0;margin-left:auto}.ordering-slot--correct .ordering-slot__verdict{color:var(--study_confidence_easy)}.ordering-slot--wrong .ordering-slot__verdict{color:var(--study_confidence_hard)}.ordering-bank{display:flex;flex-direction:column;gap:6px}.ordering-bank-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:2px solid rgba(128,128,128,.2);border-radius:10px;cursor:grab;font-size:var(--font-small);line-height:1.4;min-height:46px;transition:border-color .15s ease,background .15s ease,transform .15s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none;color:var(--study_question_text)}.ordering-bank-item:hover{border-color:#80808066;transform:translate(-2px)}.ordering-bank-item:active{cursor:grabbing;transform:scale(.97)}.ordering-bank-item--selected{border-color:var(--study_countdown_arc);background:#7c6af71a;transform:translate(-3px)}.ordering-drag-handle{font-size:var(--font-body);opacity:.3;flex-shrink:0;cursor:grab}.ordering-check-btn{align-self:center;padding:10px 28px;border:2px solid rgba(128,128,128,.25);border-radius:10px;background:transparent;color:var(--study_question_text);font-size:var(--font-small);cursor:not-allowed;opacity:.45;transition:border-color .15s ease,opacity .15s ease,transform .15s ease}.ordering-check-btn--ready{cursor:pointer;opacity:1;border-color:var(--study_countdown_arc)}.ordering-check-btn--ready:hover{background:#7c6af714;transform:translateY(-1px)}@media(max-width:480px){.ordering-layout{grid-template-columns:1fr}.ordering-divider{height:1px;width:100%;margin:8px 0}}.hotspot-wrap{position:relative;display:inline-block;border-radius:10px;overflow:hidden;background:#8080800f;max-width:100%}.hotspot-placeholder{padding:40px}.hotspot-image{display:block;max-width:100%;max-height:min(50vh,360px);object-fit:contain;border-radius:10px;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.hotspot-tap-marker{position:absolute;width:26px;height:26px;border-radius:50%;background:var(--study_countdown_arc);border:2px solid white;transform:translate(-50%,-50%);cursor:pointer;box-shadow:0 2px 8px #00000059;display:flex;align-items:center;justify-content:center;animation:hs-pop .2s cubic-bezier(.34,1.56,.64,1);transition:opacity .15s ease;z-index:2}.hotspot-tap-marker:hover{opacity:.75}.hotspot-tap-number{color:#fff;font-size:var(--font-caption);font-weight:700;line-height:1;pointer-events:none}.hotspot-region-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;animation:hs-pop .25s cubic-bezier(.34,1.56,.64,1) both;z-index:3}.hotspot-region-dot{width:14px;height:14px;border-radius:50%;background:var(--study_confidence_easy);border:2px solid white;box-shadow:0 2px 8px #00000040;flex-shrink:0}.hotspot-region-label{background:var(--study_confidence_easy);color:#fff;font-size:var(--font-caption);font-weight:600;padding:3px 7px;border-radius:5px;white-space:nowrap;box-shadow:0 2px 6px #0003}@keyframes hs-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.es-sentence-box{padding:16px 20px;border-radius:10px;background:#8080800f;border:1px solid rgba(128,128,128,.12);width:100%;text-align:center}.es-answer-row{display:flex;flex-direction:column;gap:4px}.fc-answer-ordered{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;background:#8080800d}.fc-answer-ordered__num{width:22px;height:22px;border-radius:50%;background:#7c6af726;color:var(--study_countdown_ring_arc);font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.construct-drop-zone{min-height:60px;border:2px dashed var(--study_card_border);border-radius:10px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.construct-word-bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.construct-word{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:var(--font-small);cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity .15s ease}.construct-word__num{width:18px;height:18px;border-radius:50%;background:#7c6af733;color:var(--study_countdown_ring_arc);font-size:var(--font-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.construct-word--bank{background:#8080801a;border:2px solid var(--study_card_border);color:var(--study_question_text)}.construct-word--bank:hover{transform:scale(1.04);border-color:var(--study_countdown_ring_arc)}.construct-word--placed{background:#7c6af71a;border:2px solid var(--study_countdown_ring_arc);color:var(--study_question_text)}.construct-word--placed:hover{opacity:.7;transform:scale(.97)}.card-preview{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:720px;margin:0 auto;padding:12px}.card-preview__verdict-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:12px;z-index:10;animation:card-preview-backdrop-in .18s ease}@keyframes card-preview-backdrop-in{0%{opacity:0}to{opacity:1}}.card-preview__verdict-hint{margin-top:8px}.qpreview{display:flex;flex-direction:column;width:min(560px,92vw);max-height:calc(var(--vh, 1vh) * 85);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.qpreview__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.qpreview__toggle{display:flex;gap:2px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px}.qpreview__toggle-btn{border:none;background:none;cursor:pointer;padding:5px 14px;border-radius:var(--radius-sm);font-size:var(--font-small);font-weight:600;font-family:inherit;color:var(--text-secondary);transition:background .12s,color .12s}.qpreview__toggle-btn--active{background:var(--surface-selected);color:var(--text-accent)}.qpreview__close{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:opacity .12s}.qpreview__close:hover{opacity:.6}.qpreview__body{flex:1 1 0%;min-height:0;overflow-y:auto;padding:16px}.question-base{padding:var(--qb-padding, 14px);display:flex;flex-direction:column;gap:var(--qb-gap, 12px)}.question-base__header{container-type:inline-size;container-name:qbh;display:flex;align-items:center;gap:var(--qb-header-gap, 8px)}.question-base__index{width:20px;text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums}.question-base__header .flex-select-container{flex:1 1 auto;min-width:120px}.question-base__header-actions{display:flex;gap:var(--qb-actions-gap, 6px);flex-shrink:0;margin-left:auto}.question-base__field,.question-base__answer{display:flex;flex-direction:column;gap:5px}.question-base__label{text-transform:uppercase;letter-spacing:.05em}.question-base__no-type{opacity:.5;font-size:var(--font-caption)}.question-base__media-panel{display:flex;flex-direction:column;gap:8px;padding:var(--qb-padding, 14px);height:100%;box-sizing:border-box}.question-base__media-panel .media-uploader{overflow-y:auto;max-height:220px}.question-base__media-label{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-caption)}.question-base{--qb-padding: 14px;--qb-gap: 12px;--qb-header-gap: 8px;--qb-actions-gap: 6px}@container (max-width: 720px){.question-base{--qb-padding: 10px;--qb-gap: 10px;--qb-header-gap: 6px;--qb-actions-gap: 4px}}@container (max-width: 650px){.question-base{--qb-padding: 8px;--qb-gap: 8px}}@container qbh (max-width: 340px){.question-base__header{flex-direction:column;align-items:stretch}.question-base__header-actions{order:-1;margin-left:0;justify-content:center}.question-base__header .flex-select-container{min-width:0}}.answer-preview{flex:1;min-width:0;font-size:var(--font-caption);color:var(--text-secondary);opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:3px}.answer-preview--muted{opacity:.3;font-style:italic}.answer-preview__blank{display:inline-block;padding:0 4px;border-radius:var(--radius-sm);background:var(--action-bg);color:var(--action-text);opacity:1;font-weight:600;font-size:var(--font-caption)}.answer-preview--mc{gap:3px}.answer-preview__mc-pill{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);font-size:var(--font-caption);font-weight:700;background:var(--surface-sunken);color:var(--text-primary);border:1px solid var(--border-subtle);flex-shrink:0}.answer-preview__mc-pill--correct{background:var(--action-bg);color:var(--action-text);border-color:var(--border-subtle)}.answer-preview__more{opacity:.5;font-size:var(--font-caption);flex-shrink:0}.question-row__summary{display:flex;align-items:center;gap:10px;padding:7px 12px;cursor:pointer}.question-row__left{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.question-row__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.question-row__index{width:20px;text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums}.question-row__preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-row__preview em{opacity:.4;font-style:italic}.question-row__type-badge{font-size:var(--font-caption);font-weight:600;padding:2px 7px;border-radius:999px;flex-shrink:0;background:var(--tutor_question_row_badge_default_bg);color:var(--tutor_question_row_badge_default_text)}.question-row__type-badge--open_answer{background:var(--tutor_question_row_badge_open_answer_bg);color:var(--tutor_question_row_badge_open_answer_text)}.question-row__type-badge--multiple_choice{background:var(--tutor_question_row_badge_multiple_choice_bg);color:var(--tutor_question_row_badge_multiple_choice_text)}.question-row__type-badge--fill_in_the_blank{background:var(--tutor_question_row_badge_fill_in_the_blank_bg);color:var(--tutor_question_row_badge_fill_in_the_blank_text)}.question-row__thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;flex-shrink:0}.question-row__media-indicator{font-size:var(--font-caption);flex-shrink:0;opacity:.6}.add-item-controls{display:flex;align-items:center;gap:8px;padding:6px 0;position:relative}.add-item-controls:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;opacity:.4}.add-item-controls--compact{padding:4px 0}.item-sequence{container-type:inline-size;container-name:itemseq;display:flex;flex-direction:column}.item-sequence--empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px}.item-sequence__empty-text{opacity:.5}.item-sequence__row{display:flex;flex-direction:column;margin-bottom:4px;border-radius:8px;transition:box-shadow .15s ease,transform .15s ease}.item-sequence__row-inner{display:flex;align-items:center;gap:6px}.flex-panel-content,.flex-panel-children{width:100%}.item-sequence__row--lifting{box-shadow:0 8px 24px #0000002e,0 2px 8px #0000001f;transform:scale(1.02);opacity:.95}.item-sequence--reorder-mode .item-sequence__row{opacity:.9}.item-sequence--reorder-mode .item-sequence__row--lifting{opacity:1}.item-sequence__row--new{animation:row-glow 2.2s ease forwards}@keyframes row-glow{0%{box-shadow:0 0 0 0 var(--panel1_interactive),0 0 12px 2px var(--panel1_interactive)}30%{box-shadow:0 0 0 2px var(--panel1_interactive),0 0 18px 4px var(--panel1_interactive)}70%{box-shadow:0 0 0 2px var(--panel1_interactive),0 0 12px 2px var(--panel1_interactive)}to{box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}}.item-sequence__drag-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:grab;color:var(--panel1_text_secondary);-webkit-user-select:none;user-select:none;touch-action:none;width:16px;align-self:stretch;opacity:0;transition:color .12s,opacity .12s}@media(hover:hover){.item-sequence__row-inner:hover .item-sequence__drag-handle{opacity:1}.item-sequence__drag-handle:hover{color:var(--panel1_interactive)}}.item-sequence__drag-handle--touch{width:32px;min-height:44px;opacity:1;color:var(--panel1_text_secondary);background:none}.item-sequence__drag-handle--touch:active{color:var(--panel1_interactive)}.item-sequence__drag-dots{font-size:var(--font-body);line-height:1;pointer-events:none}.item-sequence__row-inner>.subject-row,.item-sequence__row-inner>.question-row{flex:1;min-width:0}.item-sequence__controls-slot{margin-left:22px;max-height:0;overflow:hidden;transition:max-height .2s ease}.item-sequence__controls-slot--visible{max-height:48px}.item-sequence--dragging .item-sequence__controls-slot{pointer-events:none}.item-sequence__bottom-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 0 8px;position:sticky;bottom:0;z-index:10;background:transparent}.item-sequence__reorder-btn{padding:0 16px;height:36px;border-radius:999px;border:1.5px solid var(--panel1_border);background:none;color:var(--panel1_text_secondary);font-size:var(--font-small);font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,color .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.item-sequence__reorder-btn:active{background:var(--panel1_accent);border-color:var(--panel1_interactive);color:var(--panel1_text_interactive)}.item-sequence__done-btn{padding:0 20px;height:36px;border-radius:999px;border:1.5px solid var(--panel1_interactive);background:var(--panel1_interactive);color:#fff;font-size:var(--font-small);font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.item-sequence__done-btn:active{opacity:.85}.item-sequence__add-fab{width:36px;height:36px;border-radius:50%;background:var(--panel1_interactive);color:#fff;border:none;font-size:var(--font-h2);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;position:relative;font-family:inherit;box-shadow:0 3px 10px #0003;transition:transform .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.item-sequence__add-fab:before{content:"";position:absolute;inset:-4px;border-radius:50%}.item-sequence__add-fab:active{transform:scale(.93)}.item-sequence__add-choices{display:flex;align-items:center;gap:8px;animation:fab-expand .15s ease}@keyframes fab-expand{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.item-sequence__add-choice{padding:0 18px;min-height:36px;border-radius:999px;border:1.5px solid var(--panel1_interactive);background:var(--panel1_accent);color:var(--panel1_text_interactive);font-size:var(--font-small);font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.item-sequence__add-choice:active{background:var(--panel1_interactive);color:#fff}.item-sequence__add-dismiss{width:30px;height:30px;border-radius:50%;border:1px solid var(--panel1_border);background:none;color:var(--panel1_text_secondary);font-size:var(--font-caption);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.item-sequence--dragging .item-sequence__bottom-bar{pointer-events:none;opacity:.3}.item-sequence-container{container-type:inline-size;container-name:itemseq}@container itemseq (max-width: 700px){.item-sequence .item-sequence__drag-handle{width:10px}.item-sequence .item-sequence__row-inner{gap:3px}}.list-editor-toolbar{container-type:inline-size;container-name:letoolbar}.list-editor-toolbar__inner{display:flex;align-items:center;gap:8px;padding:8px 16px;flex-wrap:wrap}.list-editor-toolbar__left{display:flex;align-items:center;gap:8px;flex:1 1 200px;min-width:0}.list-editor-toolbar__name-wrap{flex:1;min-width:0;max-width:320px}.list-editor-toolbar__name-wrap .flex-textfield-container{width:100%}.list-editor-toolbar__right{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}@container letoolbar (max-width: 440px){.list-editor-toolbar__right{flex:1 1 100%;margin-left:0;justify-content:center}}.list-editor-toolbar__dirty{line-height:1;flex-shrink:0}.list-editor-toolbar__details:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle;flex-shrink:0}.list-editor-toolbar__details--published:before{background:var(--status-success)}.list-editor-toolbar__details--private:before{background:var(--status-warning)}.subject-nav{display:flex;flex-direction:column;gap:4px;margin-top:20px;padding-top:16px;border-top:1px solid var(--panel1_border)}.subject-nav__label{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-caption);margin-bottom:2px}.subject-nav__list{display:flex;flex-direction:column;gap:2px}.subject-nav__item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;border:none;background:none;cursor:pointer;text-align:left;transition:background .12s;width:100%}.subject-nav__item:hover{background:var(--panel1_accent)}.subject-nav__index{width:18px;text-align:center;flex-shrink:0;font-size:var(--font-caption);font-variant-numeric:tabular-nums}.subject-nav__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.subject-nav__name em{opacity:.4;font-style:italic}.list-editor__layout{display:flex;flex-direction:column;flex:1 1 0%;min-height:0}.list-editor__body{display:flex;flex:1 1 0%;min-height:0;overflow:hidden;container-type:inline-size;container-name:lemain}.list-editor__main{flex:1 1 0%;min-width:0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--le-main-padding, 20px 24px)}.list-editor__meta{width:var(--le-meta-width, 260px);flex-shrink:0;border-left:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);overflow-y:auto;padding:var(--le-meta-padding, 16px);animation:le-meta-in .2s ease}.list-editor__meta--in-sheet{width:100%;border:none;flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow-y:auto;padding:0 16px 16px;animation:none}.list-editor__meta-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:22px 16px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:relative}.list-editor__meta-sheet-title{font-size:var(--font-body);font-weight:700;color:var(--text-primary)}.list-editor__meta-sheet-close{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text-secondary);-webkit-tap-highlight-color:transparent}@keyframes le-meta-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@container lemain (max-width: 480px){.list-editor__main{padding:12px}}@media(max-width:900px){:root{--le-meta-width: 200px;--le-main-padding: 14px 16px;--le-meta-padding: 12px}}@media(max-width:767px){:root{--le-main-padding: 10px 12px;--le-meta-padding: 10px}.list-editor__body{flex-direction:column}@keyframes le-meta-in-mobile{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:767px){.list-editor__main{padding:12px 0 12px 12px}}.wsb{display:flex;flex-direction:column;gap:1px;padding:10px 6px;height:100%;overflow-y:auto;box-sizing:border-box;background:transparent}.wsb__all-row{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:8px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:background .12s;color:var(--text-primary)}.wsb__all-row:hover{background:var(--surface-hover)}.wsb__all-row--selected{background:var(--surface-selected)}.wsb__all-icon{display:flex;align-items:center;flex-shrink:0}.wsb__all-label{flex:1;font-size:var(--font-small);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsb__divider{height:1px;background:var(--border-subtle);margin:5px 4px;flex-shrink:0}.wsb__folder-row{display:flex;align-items:center;gap:5px;padding-top:6px;padding-bottom:6px;padding-right:6px;border-radius:8px;cursor:pointer;position:relative;transition:background .12s,box-shadow .12s;color:var(--text-primary);-webkit-user-select:none;user-select:none}.wsb__folder-row:hover{background:var(--surface-hover)}.wsb__folder-row:hover .wsb__drag-handle{opacity:.5}.wsb__folder-row:hover .wsb__menu-btn{opacity:1}.wsb__folder-row--selected{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--border-focus)}.wsb__expand-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0 2px;color:var(--text-secondary);flex-shrink:0;width:14px}.wsb__drag-handle{font-size:var(--font-caption);opacity:0;cursor:grab;flex-shrink:0;color:var(--text-secondary);touch-action:none;transition:opacity .1s}.wsb__drag-handle:active{cursor:grabbing}.wsb__folder-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.wsb__folder-name{flex:1;font-size:var(--font-small);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--text-primary)}.wsb__name-input{flex:1;font-size:var(--font-small);padding:1px 5px;border-radius:4px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-primary);outline:none;min-width:0;font-family:var(--font-primary)}.wsb__count{font-size:var(--font-caption);color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums;min-width:16px;text-align:right}.wsb__uncategorized{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .12s,box-shadow .12s;color:var(--text-primary)}.wsb__uncategorized:hover{background:var(--surface-hover)}.wsb__uncategorized--selected{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--border-focus)}.wsb__uncategorized--drop-target{background:var(--surface-selected);box-shadow:inset 0 0 0 2px var(--border-focus)}.wsb__new-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;border:1px dashed var(--border-subtle);background:transparent;cursor:pointer;font-size:var(--font-caption);color:var(--text-secondary);transition:opacity .12s,border-color .12s,color .12s;width:100%;text-align:left;margin-top:2px}.wsb__new-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.wsb__ctx-dropdown{position:relative;padding:10px 8px 4px}.wsb__ctx-btn{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--surface);cursor:pointer;font-size:var(--font-small);font-weight:600;color:var(--text-primary);transition:background .1s}.wsb__ctx-btn:hover{background:var(--surface-hover);border-color:transparent}.wsb__ctx-icon{display:flex;align-items:center;flex-shrink:0}.wsb__ctx-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsb__ctx-caret{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.wsb__ctx-menu{position:absolute;top:calc(100% - 4px);left:8px;right:8px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:200;padding:4px;display:flex;flex-direction:column;gap:1px}.wsb__ctx-section-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);padding:4px 10px 2px}.wsb__ctx-divider{height:1px;background:var(--border-subtle);margin:3px 0}.wsb__ctx-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;border-radius:7px;cursor:pointer;font-size:var(--font-small);color:var(--text-primary);text-align:left;transition:background .1s}.wsb__ctx-option:hover{background:var(--surface-hover)}.wsb__ctx-option--active{background:var(--surface-selected);font-weight:600}.wsb__ctx-option-icon{display:flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}.wsb__ctx-group-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);padding:6px 10px 2px;opacity:.6}.wsb__ctx-option--project{padding-left:20px}.wsb__ctx-loading{font-size:var(--font-caption);color:var(--text-secondary);padding:6px 10px;opacity:.6}.wsb__projects{display:flex;flex-direction:column}.wsb__projects-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:none;border:none;cursor:pointer;width:100%;text-align:left;border-radius:6px;transition:background .1s}.wsb__projects-header:hover{background:var(--surface-hover)}.wsb__projects-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.wsb__projects-chevron{display:flex;align-items:center;color:var(--text-secondary)}.wsb__projects-body{display:flex;flex-direction:column;gap:1px;padding:2px 0}.wsb__projects-group{display:flex;flex-direction:column;gap:1px}.wsb__projects-group-label{display:flex;align-items:center;gap:5px;padding:5px 10px 2px;font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);opacity:.7}.wsb__projects-group-icon{display:flex;align-items:center;flex-shrink:0}.wsb__project-row{display:flex;align-items:center;gap:7px;width:100%;padding:7px 10px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s;color:var(--text-primary)}.wsb__project-row:hover{background:var(--surface-hover)}.wsb__project-row--selected{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--border-focus)}.wsb__project-row__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px}.wsb__project-row__name{flex:1;font-size:var(--font-small);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.wsb__project-row--selected .wsb__project-row__name{font-weight:600}.wsb__project-row__active-dot{width:6px;height:6px;border-radius:50%;background:var(--border-focus);flex-shrink:0}.wsb__project-row__chevron{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;width:12px}.wsb__project-phases{display:flex;flex-direction:column;gap:1px;padding:2px 0 2px 24px}.wsb__project-phases__loading{font-size:var(--font-caption);color:var(--text-secondary);padding:4px 10px;opacity:.6}.wsb__project-phase-row{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .1s}.wsb__project-phase-row:hover{background:var(--surface-hover)}.wsb__project-phase-row__icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.wsb__project-phase-row__name{font-size:var(--font-caption);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsb__project-free-tree{display:flex;flex-direction:column;gap:1px;padding:4px 0 2px;border-top:1px dashed var(--border-subtle);margin-top:4px}.wsb__project-free-tree__label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:4px 10px 2px;opacity:.7}.wsb__project-free-folder-row{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 24px;border-radius:6px;cursor:pointer;transition:background .1s;color:var(--text-primary)}.wsb__project-free-folder-row:hover{background:var(--surface-hover)}.wsb__project-free-folder-row--selected,.wsb__project-phase-row--selected{background:var(--surface-selected);font-weight:600}.wsb__backdrop{position:fixed;inset:0;z-index:9998;background:#0000;pointer-events:none;transition:background .25s ease}.wsb__backdrop--visible{background:#0006;pointer-events:all}.wsb__backdrop+.wsb{position:fixed;bottom:0;left:0;right:0;height:auto;max-height:calc(var(--vh, 1vh) * 75);border-radius:16px 16px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom));box-shadow:0 -4px 32px #0000002e;background:var(--surface);z-index:9999;overflow-y:auto;transform:translateY(110%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.wsb__backdrop+.wsb.wsb--sheet-open{transform:translateY(0)}@media(min-width:768px){.wsb__backdrop+.wsb{left:50%;right:auto;width:100%;max-width:560px;bottom:24px;border-radius:16px;transform:translate(-50%) translateY(calc(100% + 24px))}.wsb__backdrop+.wsb.wsb--sheet-open{transform:translate(-50%) translateY(0)}}.wsb__backdrop+.wsb:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border-subtle);margin:10px auto 6px;flex-shrink:0}.vis-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:24px;padding:0 9px;min-width:72px;border-radius:12px;border:1px solid var(--border-subtle);font-family:inherit;font-size:var(--font-caption);font-weight:600;white-space:nowrap;-webkit-user-select:none;user-select:none}.vis-badge svg{display:block;flex-shrink:0}.vis-badge--public{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.vis-badge--private{background:var(--field-bg);color:var(--text-secondary)}.vis-badge--clickable{cursor:pointer;transition:background .12s,border-color .12s,color .12s}.vis-badge--public.vis-badge--clickable:hover{border-color:color-mix(in srgb,var(--success) 55%,transparent)}.vis-badge--private.vis-badge--clickable:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.vis-badge--clickable:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.vis-badge--clickable:active{transform:scale(.97)}.wsp{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface)}.wsp__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px 10px;flex-shrink:0;flex-wrap:wrap;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised)}.tutor-home:not(.tutor-home--narrow) .wsp{border-radius:0}.wsp__mobile-hamburger{display:none;flex-shrink:0;align-items:center}@media(max-width:767px){.wsp__mobile-hamburger{display:flex}}.wsp__hamburger-btn{background:none;border:none;cursor:pointer;font-size:var(--font-h3);padding:4px 8px;border-radius:5px;opacity:.7;line-height:1;color:var(--text-primary);transition:opacity .12s,background .12s;display:flex;align-items:center;justify-content:center}.wsp__hamburger-btn:hover{opacity:1;background:var(--surface-hover)}.tutor-home--narrow .wsp__mobile-hamburger{display:flex}.wsp__breadcrumb{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;flex:1}.wsp__breadcrumb-seg{display:flex;align-items:center;gap:4px;white-space:nowrap}.wsp__breadcrumb-sep{display:flex;align-items:center;color:var(--text-secondary)}.wsp__breadcrumb-btn{background:none;border:none;padding:0;cursor:pointer;font-size:var(--font-small);font-weight:600;color:var(--text-accent);text-decoration:underline;text-underline-offset:2px;transition:opacity .1s}.wsp__breadcrumb-btn:hover{opacity:.7}.wsp__header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wsp__section-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:4px 4px 6px;opacity:.8}.wsp__resource-row--phase{border-left:3px solid var(--border-focus);padding-left:3px}.wsp__filters{display:flex;gap:2px;padding:8px 12px 0;flex-shrink:0;flex-wrap:wrap;border-bottom:1px solid var(--border-subtle);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wsp__filters::-webkit-scrollbar{display:none}.wsp__filter-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:none;cursor:pointer;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;transition:color .12s,border-color .12s;white-space:nowrap;flex-shrink:0}.wsp__filter-tab:hover{color:var(--text-primary)}.wsp__filter-tab--active{color:var(--text-primary);border-bottom-color:var(--border-focus);font-weight:600}.wsp__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;padding:48px 24px}.wsp__empty-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.wsp__empty-text{font-size:var(--font-small);color:var(--text-secondary)}.wsp__empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}.wsp__empty-btn{background:var(--surface-raised);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:7px;padding:6px 14px;font-size:var(--font-caption);cursor:pointer;transition:border-color .12s,background .12s}.wsp__empty-btn:hover{border-color:var(--border-focus);background:var(--surface-selected)}.wsp__col-header{position:sticky;top:-12px;z-index:5;background:var(--surface);padding:8px 4px 6px 6px;border-bottom:1px solid var(--border-subtle);margin-bottom:2px}.wsp__col-header>*{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-family:inherit;white-space:nowrap;text-align:left;min-width:0}.wsp__col-header__spacer{grid-column:span 2}.wsp__col-sort{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;transition:color .1s}.wsp__col-sort:hover{color:var(--text-primary)}.wsp--grid .wsp__col-header,.wsp--grid .wsp__resource-row{display:grid;grid-template-columns:var(--wsp-grid);align-items:center;column-gap:8px}.wsp--grid .wsp__resource-col,.wsp--grid .wsp__col-sort{width:auto;margin-left:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.wsp--grid .wsp__resource-actions,.wsp--grid .wsp__col-header__actions,.wsp--grid .wsp__col-header__visibility{width:auto}.wsp--grid .wsp__resource-row--overlay{display:flex}.wsp__list{display:flex;flex-direction:column;gap:4px;padding:12px 16px;overflow-y:auto;flex:1;scrollbar-gutter:stable}.wsp__resource-row{display:flex;align-items:center;gap:8px;padding:2px 4px 2px 6px;border-radius:10px;background:var(--surface-raised);transition:border-color .12s,background .12s}.wsp__resource-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.wsp__resource-row:hover .wsp__drag-handle{opacity:.5}.wsp__resource-row--folder{background:var(--surface-raised);border-color:transparent}.wsp__resource-row--folder:hover{border-color:var(--border-strong);background:var(--surface-hover)}.wsp__resource-row--overlay{box-shadow:0 6px 20px #00000024;padding:10px 16px;opacity:.95}.wsp__lock-badge{display:inline-flex;align-items:center;margin-left:6px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.wsp__drag-handle{display:flex;align-items:center;justify-content:center;opacity:0;cursor:grab;flex-shrink:0;color:var(--text-secondary);touch-action:none;transition:opacity .1s;padding:8px 2px}.wsp__drag-handle:active{cursor:grabbing}.wsp__resource-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;color:var(--text-secondary)}.wsp__resource-main{flex:1 1 0;min-width:0;padding:10px 0;background:none;border:none;cursor:pointer;text-align:left;color:inherit;display:block;overflow:hidden}.wsp__resource-name{display:block;font-size:var(--font-small);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsp__resource-col{flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsp__resource-col--owner{width:110px}.wsp__resource-col--meta{width:72px}.wsp__resource-col--visibility{width:90px}.wsp__vis-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--font-caption);font-weight:600;padding:2px 7px;border-radius:20px;white-space:nowrap;border:1px solid transparent;-webkit-user-select:none;user-select:none}.wsp__vis-badge--public{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.wsp__vis-badge--private{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.wsp__vis-badge--clickable{cursor:pointer;transition:opacity .1s,filter .1s}.wsp__vis-badge--clickable:hover{filter:brightness(.92)}.wsp__row-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:100;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:8px;padding:4px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;gap:1px;min-width:150px;white-space:nowrap}.wsp__row-menu button{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;text-align:left;padding:6px 10px;border-radius:5px;font-size:var(--font-caption);color:var(--text-primary);transition:background .1s;width:100%}.wsp__row-menu button svg{flex-shrink:0;color:var(--text-secondary)}.wsp__row-menu button:hover{background:var(--surface-hover)}.wsp__resource-actions{width:90px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:2px;opacity:0;pointer-events:none;transition:opacity .12s;position:relative}.wsp__resource-row:hover .wsp__resource-actions{opacity:1;pointer-events:auto}.tutor-home--narrow .wsp__resource-actions{opacity:1;pointer-events:auto;width:auto}.wsp__action-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-secondary);transition:background .1s,color .1s;text-decoration:none;overflow:visible;padding:0}.wsp__action-icon svg{display:block;overflow:visible}.wsp__action-icon:hover{color:var(--text-primary);background:var(--surface-hover)}.wsp__action-icon--share:hover{color:#2563eb;background:#eff6ff}.wsp__action-icon--download:hover{color:#16a34a;background:#f0fdf4}.wsp__action-icon--remove:hover{color:#dc2626;background:#fef2f2}.wsp__ctx-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-caption);font-weight:600;border-radius:6px;padding:2px 8px;margin-right:4px}.wsp__empty-hint{font-size:var(--font-caption);color:var(--text-secondary);margin-top:8px;text-align:center;max-width:280px;line-height:1.5}.wsp__resource-row--broken{opacity:.6}.wsp__broken-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:var(--font-caption);font-weight:600;color:#f59e0b;background:#fef3c7;padding:1px 6px;border-radius:4px}.wsp__project-hint{font-size:var(--font-caption);color:var(--text-secondary);opacity:.6;font-style:italic}.wsp__folder-name-input{display:flex;align-items:center;gap:6px;padding:8px 16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.wsp__folder-name-input__field{flex:1;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:7px;font-size:var(--font-small);font-family:inherit;background:var(--surface);color:var(--text-primary);outline:none}.wsp__folder-name-input__field:focus{border-color:var(--border-focus)}.wsp__folder-name-input__btn{padding:6px 12px;border:none;border-radius:7px;background:var(--action-bg);color:var(--action-text);font-size:var(--font-caption);font-weight:600;cursor:pointer}.wsp__folder-name-input__btn:disabled{opacity:.5;cursor:not-allowed}.wsp__folder-name-input__cancel{background:none;border:none;cursor:pointer;font-size:var(--font-caption);color:var(--text-secondary);padding:4px 6px;border-radius:5px}.wsp__folder-name-input__cancel:hover{background:var(--surface-hover)}.wsp__add{position:relative}.wsp__add__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:4px;display:flex;flex-direction:column;gap:1px;min-width:180px;white-space:nowrap}.wsp__add__option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:none;border-radius:7px;cursor:pointer;font-size:var(--font-small);color:var(--text-primary);text-align:left;transition:background .1s}.wsp__add__option:hover{background:var(--surface-hover)}.wsp__add__icon{display:flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}.wsp__add__label{flex:1}@media(max-width:480px){.wsp__header-actions{gap:4px}.wsp__filter-tab{padding:6px 8px;font-size:var(--font-caption)}.wsp__list{padding:8px 10px}.wsp__header{padding:10px 12px 8px}}.wm__backdrop{position:fixed;inset:0;background:var(--shadow-tint);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:wm-fade-in .12s ease}@keyframes wm-fade-in{0%{opacity:0}to{opacity:1}}.wm__modal-wrap{width:100%;max-width:440px;animation:wm-slide-up .14s ease}@keyframes wm-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wm__header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border-subtle)}.wm__close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px 6px;border-radius:6px;transition:background .1s}.wm__close:hover{background:var(--surface-hover)}.wm__body{display:flex;flex-direction:column;gap:12px;padding:18px 20px}.wm__dropzone{border:2px dashed var(--border-subtle);border-radius:10px;padding:32px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color .12s,background .12s;text-align:center}.wm__dropzone:hover,.wm__dropzone--active{border-color:var(--border-strong);background:var(--surface-hover)}.wm__dropzone--has-file{cursor:default;padding:16px 20px}.wm__dropzone-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.wm__dropzone-text{font-size:var(--font-small);color:var(--text-primary)}.wm__dropzone-link{color:var(--text-accent);text-decoration:underline}.wm__dropzone-hint{font-size:var(--font-caption);color:var(--text-secondary);opacity:.6}.wm__file-preview{display:flex;align-items:center;gap:12px;width:100%}.wm__file-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.wm__file-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.wm__file-name{font-size:var(--font-small);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm__file-size{font-size:var(--font-caption);color:var(--text-secondary);opacity:.6}.wm__file-remove{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;color:var(--text-secondary);transition:background .1s;flex-shrink:0}.wm__file-remove:hover{background:#fee2e2;color:#ef4444}.wm__footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--border-subtle)}.srm__overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:srm-fade .14s ease}@keyframes srm-fade{0%{opacity:0}to{opacity:1}}.srm__modal-wrap{width:calc(100vw - 32px);max-width:420px;max-height:calc(100vh - 64px);animation:srm-rise .18s cubic-bezier(.16,1,.3,1)}@keyframes srm-rise{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.srm__header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 16px;border-bottom:1px solid var(--border-subtle);gap:12px;flex-shrink:0}.srm__header-left{display:flex;align-items:center;gap:10px;min-width:0}.srm__resource-badge{display:flex;align-items:center;gap:5px;background:var(--surface-hover);border-radius:8px;padding:5px 10px;flex-shrink:0}.srm__resource-type-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.srm__resource-type-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.srm__close{width:30px;height:30px;border-radius:50%;border:none;background:var(--surface-hover);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible;padding:0;transition:background .12s,color .12s}.srm__close:hover{background:var(--danger-bg);color:var(--danger)}.srm__close svg{display:block;overflow:visible}.srm__tabs{display:flex;gap:6px;padding:14px 16px 0;flex-shrink:0}.srm__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border-radius:10px;border:1.5px solid var(--border-subtle);background:none;cursor:pointer;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);transition:all .12s}.srm__tab:hover{background:var(--surface-hover);color:var(--text-primary)}.srm__tab--active{background:var(--surface-selected);border-color:var(--border-focus);color:var(--text-primary);font-weight:700}.srm__tab-icon{display:flex;align-items:center;flex-shrink:0}.srm__search-wrap{padding:12px 16px 6px;flex-shrink:0}.srm__list{max-height:200px;overflow-y:auto;padding:4px 10px;display:flex;flex-direction:column;gap:2px}.srm__empty{text-align:center;padding:24px 16px}.srm__target{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:10px;border:none;background:none;cursor:pointer;text-align:left;transition:background .1s;overflow:visible}.srm__target:hover{background:var(--surface-hover)}.srm__target--selected{background:var(--surface-selected)}.srm__target-avatar{width:32px;height:32px;border-radius:8px;background:var(--surface-sunken);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--font-small);font-weight:800;flex-shrink:0}.srm__target--selected .srm__target-avatar{background:var(--surface-selected);color:var(--text-primary)}.srm__target-name{flex:1;font-size:var(--font-small);font-weight:500;color:var(--text-primary)}.srm__target-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .12s,background .12s}.srm__target-radio--checked{border-color:var(--border-focus);background:var(--border-focus)}.srm__target-radio-dot{width:6px;height:6px;border-radius:50%;background:var(--surface)}.srm__folder-section{padding:12px 16px 8px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border-subtle);flex-shrink:0}.srm__folder-chips{display:flex;flex-wrap:wrap;gap:6px}.srm__folder-chip{display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;border:1.5px solid var(--border-subtle);background:none;cursor:pointer;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);transition:all .1s;white-space:nowrap}.srm__folder-chip:hover{background:var(--surface-hover);color:var(--text-primary)}.srm__folder-chip--active{background:var(--surface-selected);border-color:var(--border-focus);color:var(--text-primary);font-weight:700}.srm__footer{display:flex;gap:8px;padding:14px 16px 18px;justify-content:flex-end;border-top:1px solid var(--border-subtle);margin-top:4px;flex-shrink:0}.clm-backdrop{position:fixed;inset:0;z-index:1100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;animation:clm-backdrop-in .18s ease both}@keyframes clm-backdrop-in{0%{opacity:0}to{opacity:1}}.clm-dialog{width:100%;max-width:440px;min-width:280px;animation:clm-dialog-in .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes clm-dialog-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.clm-body{padding:22px 20px 20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(100vh - 64px)}.clm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.clm-close-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;opacity:.5;transition:opacity .15s ease,background .15s ease}.clm-close-btn:hover{opacity:1;background:var(--surface-hover)}.clm-fields{display:flex;flex-direction:column;gap:12px}.clm-section{display:flex;flex-direction:column;gap:0}.clm-workspaces{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.clm-ws-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:1.5px solid var(--border-subtle);background:none;cursor:pointer;text-align:left;transition:background .1s,border-color .1s}.clm-ws-row:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-focus)}.clm-ws-row--selected{background:var(--surface-selected);border-color:var(--border-focus)}.clm-ws-row:disabled{opacity:.5;cursor:not-allowed}.clm-ws-avatar{width:30px;height:30px;border-radius:8px;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.clm-ws-avatar--personal{background:var(--surface-sunken)}.clm-ws-name{flex:1;font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clm-ws-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .12s,background .12s}.clm-ws-radio--checked{border-color:var(--accent-500);background:var(--accent-500)}.clm-ws-radio-dot{width:6px;height:6px;border-radius:50%;background:var(--text-inverse)}.clm-folder-select{margin-top:4px}.clm-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px}@media(max-width:480px){.clm-body{padding:18px 16px 16px;gap:14px;max-height:calc(100vh - 48px)}.clm-actions{flex-direction:column-reverse;gap:8px}.clm-actions .flex-button{width:100%;min-width:unset!important}}.cdm-backdrop{position:fixed;inset:0;z-index:1100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;animation:cdm-backdrop-in .18s ease both}@keyframes cdm-backdrop-in{0%{opacity:0}to{opacity:1}}.cdm-dialog{width:100%;max-width:440px;min-width:280px;animation:cdm-dialog-in .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes cdm-dialog-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cdm-body{padding:22px 20px 20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(100vh - 64px)}.cdm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cdm-close-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;opacity:.5;transition:opacity .15s ease,background .15s ease}.cdm-close-btn:hover{opacity:1;background:var(--surface-hover)}.cdm-fields{display:flex;flex-direction:column;gap:12px}.cdm-section{display:flex;flex-direction:column;gap:0}.cdm-workspaces{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.cdm-ws-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:1.5px solid var(--border-subtle);background:none;cursor:pointer;text-align:left;transition:background .1s,border-color .1s}.cdm-ws-row:hover:not(:disabled),.cdm-ws-row--selected{background:var(--surface-selected);border-color:var(--border-focus)}.cdm-ws-row:disabled{opacity:.5;cursor:not-allowed}.cdm-ws-avatar{width:30px;height:30px;border-radius:8px;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.cdm-ws-name{flex:1;font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdm-ws-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .12s,background .12s}.cdm-ws-radio--checked{border-color:var(--accent-500);background:var(--accent-500)}.cdm-ws-radio-dot{width:6px;height:6px;border-radius:50%;background:var(--text-inverse)}.cdm-folder-select{margin-top:4px}.cdm-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px}@media(max-width:480px){.cdm-body{padding:18px 16px 16px;gap:14px;max-height:calc(100vh - 48px)}.cdm-actions{flex-direction:column-reverse;gap:8px}.cdm-actions .flex-button{width:100%;min-width:unset!important}}.proj-ledger{overflow-y:auto}.proj-ledger__summary{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.proj-ledger__total{display:flex;align-items:baseline;gap:8px;min-width:0}.proj-ledger__total-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.proj-ledger__total-value{font-size:var(--font-h2);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.proj-ledger__total-value--negative{color:var(--danger)}.proj-ledger__count{font-size:var(--font-caption);color:var(--text-muted);margin-left:auto;flex-shrink:0}.proj-ledger__error{margin:var(--space-2) var(--space-4);padding:8px 12px;font-size:var(--font-small);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm)}.proj-ledger__addbar{padding:var(--space-2) var(--space-4) 0;flex-shrink:0}.proj-ledger__filter-note{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:8px;background:var(--surface-selected);border-radius:var(--radius-sm);font-size:var(--font-caption);color:var(--text-secondary)}.proj-ledger__filter-clear{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-accent);font-size:var(--font-caption);font-weight:600;padding:2px 4px}.proj-ledger__list{padding:var(--space-3) var(--space-4) var(--space-5)}.proj-ledger__row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);margin-bottom:6px}.proj-ledger__row-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.proj-ledger__label{font-size:var(--font-small);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-ledger__sub{display:flex;align-items:center;gap:6px;font-size:var(--font-caption);color:var(--text-muted);min-width:0}.proj-ledger__date{flex-shrink:0;font-variant-numeric:tabular-nums}.proj-ledger__category{padding:1px 7px;border-radius:999px;background:var(--surface-sunken);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-ledger__amount{flex-shrink:0;font-size:var(--font-small);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.proj-ledger__amount--income{color:var(--success)}.proj-ledger__row-actions{display:flex;gap:2px;flex-shrink:0}.proj-ledger__action{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:var(--radius-sm);transition:background .1s,color .1s}.proj-ledger__action:hover{background:var(--surface-hover);color:var(--text-primary)}.proj-ledger__action--danger{color:var(--danger);font-weight:600}.proj-ledger__action--danger:hover{background:var(--danger-bg);color:var(--danger)}.proj-ledger__form{display:flex;flex-direction:column;gap:8px;margin:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--border-focus);border-radius:var(--radius-sm);background:var(--surface-raised)}.proj-ledger__form-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.proj-ledger__form-row--foot{justify-content:flex-end}.proj-ledger__form-label{flex:1;min-width:140px}.proj-ledger__form-amount{width:110px;flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.proj-ledger__direction{display:flex;gap:4px;margin-right:auto}.proj-ledger__form-currency{font-size:var(--font-caption);color:var(--text-muted);padding-right:4px}.proj-ledger__filter-sheet{display:flex;flex-direction:column;overflow-y:auto;padding-bottom:var(--space-2)}.proj-ledger__sheet-amount{flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary);font-variant-numeric:tabular-nums}@container projboard (max-width: 600px){.proj-ledger__summary{padding:var(--space-2) var(--space-3)}.proj-ledger__list{padding:var(--space-2) var(--space-3) var(--space-5)}.proj-ledger__form{margin:var(--space-2) var(--space-3)}.proj-ledger__form-label,.proj-ledger__form-amount{width:100%;flex:1 1 100%}.proj-ledger__row-actions{flex-direction:column}}.proj-goals{overflow-y:auto;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.proj-goals__summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-shrink:0}.proj-goals__hint{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.45}.proj-goals__cap{flex-shrink:0;font-size:var(--font-caption);font-weight:700;color:var(--text-secondary);white-space:nowrap}.proj-goals__cap--over{color:var(--warning)}.proj-goals__error{margin:0;font-size:var(--font-caption);color:var(--danger)}.proj-goals__notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--font-caption);color:var(--text-secondary)}.proj-goals__notice-undo{margin-left:auto;background:none;border:none;padding:0;cursor:pointer;font-size:var(--font-caption);font-family:inherit;font-weight:700;color:var(--text-accent)}.proj-goals__addbar{display:flex;flex-shrink:0}.proj-goals__list{display:flex;flex-direction:column;gap:var(--space-4)}.proj-goals__group{display:flex;flex-direction:column;gap:6px}.proj-goals__group-label{display:flex;align-items:center;gap:6px;font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.proj-goals__group-count{padding:1px 6px;border-radius:999px;background:var(--surface-sunken);color:var(--text-muted);letter-spacing:0}.proj-goals__group-empty{margin:0;font-size:var(--font-caption);color:var(--text-muted);font-style:italic}.proj-goals__filter-note{display:flex;align-items:center;gap:6px;font-size:var(--font-caption);color:var(--text-secondary)}.proj-goals__filter-clear{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:var(--font-caption);color:var(--text-accent)}.proj-goal{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised)}.proj-goal--done .proj-goal__statement{color:var(--text-secondary)}.proj-goal__main{display:flex;align-items:flex-start;gap:8px;padding:var(--space-2) var(--space-3)}.proj-goal__toggle{flex-shrink:0;margin-top:2px;padding:4px;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.proj-goal__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.proj-goal__statement{font-size:var(--font-small);font-weight:600;color:var(--text-primary);line-height:1.35}.proj-goal__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--font-caption);color:var(--text-secondary)}.proj-goal__count{font-weight:700;color:var(--text-primary)}.proj-goal__due--overdue{color:var(--danger);font-weight:700}.proj-goal__links-count{color:var(--text-muted)}.proj-goal__bar{height:4px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.proj-goal__bar-fill{height:100%;border-radius:999px;background:var(--action-bg);transition:width .2s}.proj-goal--done .proj-goal__bar-fill{background:var(--success)}.proj-goal__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.proj-goal__action{display:inline-flex;align-items:center;justify-content:center;padding:5px 6px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:var(--font-caption);color:var(--text-secondary);transition:background .1s,color .1s}.proj-goal__action:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.proj-goal__action:disabled{opacity:.4;cursor:not-allowed}.proj-goal__action--danger{color:var(--danger)}.proj-goal__action--danger:hover{background:var(--danger-bg)}.proj-goal__drawer{display:flex;flex-direction:column;gap:4px;padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border-subtle)}.proj-goal__drawer-empty{margin:0;font-size:var(--font-caption);color:var(--text-muted);line-height:1.45}.proj-goal__link{display:flex;align-items:center;gap:8px}.proj-goal__link-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--border-strong)}.proj-goal__link-dot--done{background:var(--success)}.proj-goal__link-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;padding:3px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;font-size:var(--font-caption);color:var(--text-primary)}.proj-goal__link-title:hover{color:var(--text-accent)}.proj-goal__link-title--gone{cursor:default;color:var(--text-muted);font-style:italic}.proj-goal__link-title--gone:hover{color:var(--text-muted)}.proj-goal__link-where{flex-shrink:0;font-size:var(--font-caption);color:var(--text-muted);font-style:normal}.proj-goal__add-source{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;margin-top:4px;padding:4px 8px;background:none;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:var(--font-caption);color:var(--text-secondary);transition:border-color .12s,color .12s}.proj-goal__add-source:hover{border-color:var(--border-focus);color:var(--text-accent)}.proj-goal__picker{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken)}.proj-goal__picker-head{font-size:var(--font-caption);color:var(--text-secondary)}.proj-goal__picker-list{display:flex;flex-direction:column;max-height:200px;overflow-y:auto}.proj-goal__picker-item{display:flex;align-items:baseline;gap:8px;width:100%;padding:6px 4px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.proj-goal__picker-item:hover{background:var(--surface-hover)}.proj-goal__picker-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-caption);color:var(--text-primary)}.proj-goal__picker-phases{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.proj-goal__picker-foot{display:flex;justify-content:flex-end;gap:6px}.proj-goals__form{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border:1px solid var(--border-focus);border-radius:var(--radius-sm);background:var(--surface-raised)}.proj-goals__form-row{display:flex;gap:6px}.proj-goals__form-target{flex:0 0 90px}.proj-goals__form-buckets{display:flex;flex-direction:column;gap:4px}.proj-goals__form-periods{display:flex;flex-wrap:wrap;gap:4px}.proj-goals__chip{padding:4px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:none;cursor:pointer;font-family:inherit;font-size:var(--font-caption);color:var(--text-secondary);white-space:nowrap;transition:background .1s,border-color .1s,color .1s}.proj-goals__chip:hover{background:var(--surface-hover)}.proj-goals__chip--active{border-color:var(--border-focus);background:var(--surface-selected);color:var(--text-primary);font-weight:600}.proj-goals__form-foot{display:flex;justify-content:flex-end;gap:6px}.proj-goals__form-note{margin:0;font-size:var(--font-caption);color:var(--text-muted);font-style:italic}.proj-goals__sheet-count{flex-shrink:0;font-size:var(--font-caption);color:var(--text-muted)}.proj-goals__filter-sheet{display:flex;flex-direction:column;overflow-y:auto;padding-bottom:var(--space-2)}@container projboard (max-width: 600px){.proj-goals{padding:var(--space-2) var(--space-3)}.proj-goals__form-row{flex-direction:column}.proj-goals__form-target{flex:1 1 auto}.proj-goal__link-where{display:none}}.proj-taskgoals{display:flex;flex-direction:column;gap:6px}.proj-taskgoals__row{display:flex;align-items:center;gap:8px}.proj-taskgoals__statement{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-caption);color:var(--text-primary)}.proj-taskgoals__list{font-size:var(--font-caption);color:var(--text-muted)}.proj-taskgoals__select{flex:0 1 auto;max-width:45%;min-width:0}.proj-boards{overflow-y:auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.proj-boards__section{display:flex;flex-direction:column;gap:var(--space-2)}.proj-boards__section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.proj-boards__section-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.proj-boards__section-actions{display:flex;gap:var(--space-2)}.proj-boards__create{display:flex;gap:var(--space-2);align-items:center}.proj-boards__create .proj-native-input{flex:1;min-width:0}.proj-boards__row{position:relative;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised)}.proj-boards__row-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-small);color:var(--text-primary)}.proj-boards__row-main:hover{background:var(--surface-hover)}.proj-boards__row-main--static{cursor:default}.proj-boards__row-main--static:hover{background:none}.proj-boards__row-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.proj-boards__row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.proj-boards__row-meta{flex-shrink:0;font-size:var(--font-caption);color:var(--text-muted)}.proj-boards__row-actions{display:flex;gap:var(--space-2);padding-right:var(--space-2);flex-shrink:0}.proj-boards__danger:hover{color:var(--danger)}.proj-boards__rename-input{flex:1;min-width:0;margin:var(--space-2) var(--space-3)}.proj-boards__chip{flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 var(--space-2);background:var(--surface-sunken)}.proj-boards__cluster{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken)}.proj-boards__cluster-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.proj-boards__cluster-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-small);font-weight:700;color:var(--text-primary)}.proj-boards__cluster-body{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-2) var(--space-2)}.proj-boards__loose{display:flex;flex-direction:column;gap:var(--space-2)}.proj-boards__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.proj-boards__cluster-picker{position:absolute;top:100%;right:var(--space-2);z-index:5;display:flex;flex-direction:column;min-width:160px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:0 4px 12px var(--shadow-tint)}.proj-boards__cluster-pick{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-small);color:var(--text-primary)}.proj-boards__cluster-pick:hover{background:var(--surface-hover)}.proj-boards__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3);color:var(--text-secondary);font-size:var(--font-small);text-align:center}@container projboard (max-width: 600px){.proj-boards{padding:var(--space-2) var(--space-3)}.proj-boards__row-meta{display:none}}.proj-shell-tabs{display:flex;align-items:stretch;gap:2px;padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--surface-raised)}.proj-shell-tabs__group{display:flex;align-items:stretch;gap:2px;min-width:0}.proj-shell-tabs__group--surfaces{flex:1;overflow-x:auto;scrollbar-width:none}.proj-shell-tabs__group--surfaces::-webkit-scrollbar{display:none}.proj-shell-tabs__group--lenses{flex-shrink:0;margin-left:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--border-subtle)}.proj-shell-tabs__tab{display:flex;align-items:center;gap:6px;padding:10px 12px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;max-width:180px;transition:color .15s,border-color .15s,background .1s}.proj-shell-tabs__tab:hover{color:var(--text-primary);background:var(--surface-hover)}.proj-shell-tabs__tab--active{color:var(--text-primary);font-weight:700;border-bottom-color:var(--border-focus)}.proj-shell-tabs__icon{display:flex;align-items:center;flex-shrink:0}.proj-shell-tabs__label{min-width:0;overflow:hidden;text-overflow:ellipsis}.proj-shell-tabs__pill{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--success);background:var(--success-bg);border-radius:999px;padding:3px}.proj-shell-tabs__add{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;padding:5px 9px;margin-left:4px;background:none;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .12s,color .12s}.proj-shell-tabs__add:hover{border-color:var(--border-focus);color:var(--text-accent)}.proj-shell-tabs__more{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;padding:5px 9px;margin-left:4px;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .12s,color .12s}.proj-shell-tabs__more:hover{border-color:var(--border-focus);color:var(--text-accent)}.proj-shell-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto;padding-left:var(--space-3)}.proj-shell-actions .proj-view-btn{display:inline-flex;align-items:center;gap:5px}.proj-shell-tabs .proj-shell-actions{align-self:center}.proj-shell-switcher{display:none;align-items:center;gap:8px;padding:8px var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);flex-shrink:0}.proj-shell-switcher__btn{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;padding:7px 10px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-small);font-weight:700;cursor:pointer;text-align:left;transition:border-color .12s}.proj-shell-switcher__btn:hover{border-color:var(--border-strong)}.proj-shell-switcher__icon{display:flex;align-items:center;flex-shrink:0}.proj-shell-switcher__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-shell-switcher__caret{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.proj-shell-sheet{display:flex;flex-direction:column;overflow-y:auto;padding-bottom:var(--space-2)}.proj-shell-sheet__section-label{padding:12px var(--space-4) 6px;font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.proj-shell-sheet__item{display:flex;align-items:center;gap:10px;width:100%;padding:12px var(--space-4);min-height:44px;background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-body);color:var(--text-primary);box-sizing:border-box;transition:background .1s}.proj-shell-sheet__item:hover{background:var(--surface-hover)}.proj-shell-sheet__item--active{background:var(--surface-selected);font-weight:700}.proj-shell-sheet__item--danger{color:var(--danger)}.proj-shell-sheet__item-icon{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0}.proj-shell-sheet__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-shell-sheet__item-check{display:flex;align-items:center;flex-shrink:0;color:var(--text-accent)}.proj-shell-sheet__divider{height:1px;background:var(--border-subtle);margin:6px 0;flex-shrink:0}.proj-smart__surfaces{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.proj-smart__surface-chip{padding:3px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:none;font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,color .1s}.proj-smart__surface-chip:hover{background:var(--surface-hover)}.proj-smart__surface-chip--active{border-color:var(--border-focus);background:var(--surface-selected);color:var(--text-primary);font-weight:600}.proj-tool{display:flex;flex-direction:column;height:100%;min-height:0}.proj-tool--gate{width:100%;max-width:720px;margin:0 auto}.proj-tool__subbar{display:flex;align-items:center;gap:6px;padding:8px var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0;flex-wrap:wrap}.proj-board__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:100%;padding:var(--space-5);color:var(--text-secondary);font-size:var(--font-body);text-align:center}.proj-satellite__name{display:flex;align-items:center;gap:6px;font-size:var(--font-small);font-weight:700;color:var(--text-primary);padding:4px 2px;border-radius:var(--radius-sm);cursor:default}.proj-satellite__name[title]{cursor:pointer}.proj-satellite__name[title]:hover{background:var(--surface-hover)}.proj-satellite__name-input{font-size:var(--font-small);font-weight:700;font-family:inherit;color:var(--text-primary);background:var(--field-bg);border:1px solid var(--border-focus);border-radius:var(--radius-sm);padding:4px 8px;min-width:0;width:180px}.proj-satellite__name-input:focus{outline:none}.proj-modal-backdrop{position:fixed;inset:0;background:var(--shadow-tint);z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);box-sizing:border-box}.proj-modal{z-index:9001;display:flex;flex-direction:column;width:100%;max-width:420px;max-height:calc(var(--vh, 1vh) * 85);background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:hidden}.proj-modal--columns{max-width:460px}.proj-modal--confirm{max-width:380px;padding:var(--space-4);gap:var(--space-3)}.proj-modal--satellite{max-width:440px}.proj-modal__header{display:flex;align-items:center;gap:8px;padding:12px var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.proj-modal__title{flex:1;font-size:var(--font-small);font-weight:700;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis}.proj-modal__close{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:var(--font-small);padding:4px 6px;border-radius:var(--radius-sm);transition:background .1s}.proj-modal__close:hover{background:var(--surface-hover)}.proj-modal__body{padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto}.proj-modal__text{font-size:var(--font-small);color:var(--text-secondary);line-height:1.5;margin:0}.proj-modal__error{font-size:var(--font-caption);color:var(--danger);margin:0}.proj-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px var(--space-4);border-top:1px solid var(--border-subtle);flex-shrink:0}.proj-modal--confirm .proj-modal__footer{border-top:none;padding:0}.proj-modal__section{display:flex;flex-direction:column;gap:5px}.proj-modal__section-label{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.proj-col-row{display:flex;align-items:center;gap:6px}.proj-col-row__color{flex-shrink:0;width:26px;height:26px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:none;cursor:pointer}.proj-col-row__name{flex:1;min-width:0;padding:6px 8px;font-size:var(--font-small);font-family:inherit;color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);transition:border-color .12s}.proj-col-row__name:focus{outline:none;border-color:var(--border-focus)}.proj-col-row__name::placeholder{color:var(--field-placeholder)}.proj-col-row__count{flex-shrink:0;font-size:var(--font-caption);color:var(--text-muted);min-width:48px;text-align:right}.proj-col-row button{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-caption);padding:4px 7px;cursor:pointer;transition:background .1s,color .1s}.proj-col-row button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.proj-col-row button:disabled{opacity:.35;cursor:not-allowed}.proj-col-row--add{padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.proj-satellite-flavor{display:flex;flex-direction:column;gap:6px}.proj-satellite-columns{display:flex;flex-direction:column;gap:8px;margin-top:8px}.proj-satellite-chips{display:flex;flex-wrap:wrap;gap:5px}.proj-satellite-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:999px;font-size:var(--font-caption);color:var(--text-primary)}.proj-satellite-chip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.proj-satellite-chip button{display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:0 2px;transition:color .1s}.proj-satellite-chip button:hover:not(:disabled){color:var(--text-primary)}.proj-satellite-chip button:disabled{opacity:.3;cursor:not-allowed}.proj-satellite-chip-input{display:flex;gap:6px;align-items:center}.proj-primary-btn,.proj-ghost-btn,.proj-danger-btn{padding:7px 14px;border-radius:var(--radius-sm);font-size:var(--font-small);font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.proj-primary-btn{background:var(--action-bg);color:var(--action-text);border:1px solid transparent}.proj-primary-btn:hover:not(:disabled){background:var(--action-bg-hover)}.proj-ghost-btn{background:none;color:var(--text-secondary);border:1px solid var(--border-subtle)}.proj-ghost-btn:hover:not(:disabled){background:var(--action-ghost-hover);color:var(--text-primary)}.proj-danger-btn{background:var(--danger);color:var(--text-inverse);border:1px solid transparent}.proj-danger-btn:hover:not(:disabled){filter:brightness(.92)}.proj-primary-btn:disabled,.proj-ghost-btn:disabled,.proj-danger-btn:disabled{opacity:.45;cursor:not-allowed}.proj-view-btn--danger{color:var(--danger)}.proj-view-btn--danger:hover{background:var(--danger-bg)}.proj-owner-btn{display:flex;align-items:center;gap:6px;padding:9px 12px;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.proj-owner-btn:hover{background:var(--surface-hover)}.proj-owner-btn--active{border-color:var(--border-focus);background:var(--surface-selected)}.proj-owner-btn__label{font-size:var(--font-small);color:var(--text-primary)}.proj-native-input{width:100%;padding:7px 10px;font-size:var(--font-small);font-family:inherit;color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);box-sizing:border-box;transition:border-color .12s}.proj-native-input:focus{outline:none;border-color:var(--border-focus)}.proj-native-input::placeholder{color:var(--field-placeholder)}.proj-shell-menu{position:relative;display:flex;align-items:center}.proj-shell-menu__scrim{position:fixed;inset:0;z-index:20}.proj-shell-menu__pop{position:absolute;top:calc(100% + 4px);right:0;z-index:21;display:flex;flex-direction:column;min-width:180px;padding:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-overlay);box-shadow:var(--shadow-overlay)}.proj-shell-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;white-space:nowrap;font-size:var(--font-small);font-family:inherit;color:var(--text-primary);transition:background .1s}.proj-shell-menu__item:hover{background:var(--surface-hover)}.proj-shell-menu__item--danger{color:var(--danger)}.proj-shell-menu__item--danger:hover{background:var(--danger-bg)}.proj-shell-menu__icon{display:flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}@container projboard (max-width: 600px){.proj-shell-tabs{display:none}.proj-shell-switcher{display:flex}.proj-tool__subbar{padding:6px var(--space-3)}.proj-tool__subbar:empty{display:none}.proj-modal{max-width:100%}.proj-shell-actions__label{display:none}.proj-shell-actions{padding-left:0}.proj-shell-actions .proj-view-btn{padding:6px 8px;min-height:32px}.proj-board__progress{display:none}.proj-board__header-right{width:auto;margin-left:auto;padding-top:0;margin-top:0;border-top:none}}.proj-canvas{display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.proj-canvas__card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:340px;padding:var(--space-5) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);text-align:center}.proj-canvas__icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.proj-canvas__name{font-size:var(--font-body);font-weight:700;color:var(--text-primary)}.proj-canvas__hint{margin:0;font-size:var(--font-small);color:var(--text-secondary)}.proj-satellite-boards{display:flex;flex-direction:column;gap:var(--space-2);max-height:220px;overflow-y:auto}.proj-satellite-templates{display:flex;flex-direction:column;gap:var(--space-2);max-height:260px;overflow-y:auto}.proj-satellite-methods{display:flex;flex-direction:column;gap:var(--space-2)}.proj-satellite-templates .proj-owner-btn,.proj-satellite-methods .proj-owner-btn{align-items:flex-start}.proj-satellite-templates .proj-owner-btn__label,.proj-satellite-methods .proj-owner-btn__label{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;text-align:left;white-space:normal}.proj-satellite-opt__desc,.proj-satellite-tpl__desc{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.4}.proj-satellite-tpl__best{font-size:var(--font-caption);color:var(--text-muted);font-style:italic}.proj-satellite-hint{margin:0;font-size:var(--font-small);color:var(--text-secondary)}.proj-board-embed{position:relative;width:100%;height:100%;min-height:0;overflow:hidden}.proj-board-embed__back{position:absolute;top:var(--space-2);left:var(--space-2);z-index:10;display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);font-size:var(--font-small);color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.proj-board-embed__back:hover{color:var(--text-primary);border-color:var(--border-focus)}.proj-canvas--embed{display:block;padding:0;height:100%;min-height:0;overflow:hidden}.study-setup{display:flex;flex-direction:column;height:100%;overflow:hidden}.study-setup__modes{padding:12px 16px 10px;flex-shrink:0;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:10px}.setup-mode-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.setup-mode-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;border:1.5px solid var(--border-subtle);border-radius:10px;background:transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s cubic-bezier(.34,1.56,.64,1);color:var(--text-primary)}.setup-mode-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.setup-mode-card--active{border-color:var(--accent-500);background:var(--accent-100)}.setup-mode-glyph{display:flex;align-items:center;justify-content:center;height:20px;flex-shrink:0}.setup-mode-label{font-size:var(--font-caption);font-weight:600;opacity:.9}.setup-mode-time{font-size:var(--font-caption);opacity:.45;letter-spacing:.03em}.setup-amount-row{display:flex;align-items:center;gap:10px}.setup-amount-chips{display:flex;gap:6px;flex:1}.setup-amount-chip{flex:1;padding:5px 0;border:1.5px solid var(--border-subtle);border-radius:7px;background:transparent;cursor:pointer;font-size:var(--font-caption);font-weight:600;color:var(--text-primary);opacity:.6;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.setup-amount-chip:hover{border-color:var(--border-strong);opacity:.9}.setup-amount-chip--active{border-color:var(--accent-500);background:var(--accent-100);opacity:1}.study-setup__dual{flex:1;display:grid;grid-template-columns:1fr auto 1fr;min-height:0;overflow:hidden}.setup-dual-divider{width:1px;background:var(--border-subtle);margin:10px 0}.setup-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:10px 0 0}.setup-panel__header{display:flex;align-items:center;justify-content:space-between;padding:0 14px 8px;flex-shrink:0}.setup-panel__reset{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:var(--font-caption);opacity:.45;color:inherit;padding:2px 4px;border-radius:4px;transition:opacity .15s ease}.setup-panel__reset:hover{opacity:.8}.setup-panel__scroll{flex:1;overflow-y:auto;padding:4px 6px 12px}.setup-panel__scroll::-webkit-scrollbar{width:3px}.setup-panel__scroll::-webkit-scrollbar-thumb{background:#80808033;border-radius:2px}.setup-panel__empty{text-align:center;padding:32px 16px;font-size:var(--font-caption);opacity:.35;color:var(--text-primary)}.setup-section-header{font-size:var(--font-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.4;padding:8px 8px 4px;color:var(--text-primary)}.setup-section-header--list{display:flex;align-items:center;justify-content:space-between;opacity:1}.setup-section-header--list>span{opacity:.4}.setup-plan-header{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.setup-search{display:flex;align-items:center;gap:6px;margin:0 8px 6px;padding:5px 8px;border:1px solid var(--border-subtle);border-radius:7px;background:var(--surface-sunken);flex-shrink:0}.setup-search__icon{display:flex;align-items:center;justify-content:center;width:16px;flex-shrink:0;color:var(--text-muted)}.setup-search__input{flex:1;border:none;background:transparent;font-size:var(--font-caption);color:var(--text-primary);outline:none;min-width:0}.setup-search__input::placeholder{opacity:.35}.setup-search__clear{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0;flex-shrink:0;transition:color .15s ease}.setup-search__clear:hover{color:var(--text-primary)}.setup-selectall-btn{display:inline-flex;align-items:center;gap:3px;background:none;border:1px solid var(--border-subtle);border-radius:5px;cursor:pointer;font-size:var(--font-caption);font-weight:600;letter-spacing:.04em;color:var(--text-primary);padding:2px 7px;opacity:.5;transition:opacity .15s ease,border-color .15s ease,background .15s ease;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.setup-selectall-btn:hover{opacity:.9;border-color:var(--border-strong)}.setup-selectall-btn--on{border-color:var(--success);color:var(--success);opacity:.85}.setup-selectall-btn--on:hover{opacity:1;background:var(--success-bg)}.setup-selectall-btn--sm{font-size:var(--font-caption);padding:1px 5px}.setup-list-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;border-radius:7px;background:transparent;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .12s ease}.setup-list-item:hover{background:var(--surface-hover)}.setup-list-item--selected,.setup-list-item--selected:hover{background:var(--surface-selected)}.setup-list-item__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--border-subtle);transition:background .15s ease,border-color .15s ease}.setup-list-item--selected .setup-list-item__dot{background:var(--accent-500);border-color:var(--accent-500)}.setup-list-item__name{flex:1;font-size:var(--font-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.setup-list-item--selected .setup-list-item__name{font-weight:500;opacity:1}.setup-list-item__count{font-size:var(--font-caption);opacity:.35;flex-shrink:0}.setup-subject-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;border-radius:7px;background:transparent;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .12s ease}.setup-subject-item:hover{background:var(--surface-hover)}.setup-subject-item--selected,.setup-subject-item--selected:hover{background:var(--success-bg)}.setup-subject-item__check{width:15px;height:15px;border-radius:4px;border:1.5px solid var(--border-subtle);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;color:var(--text-inverse)}.setup-subject-item__check--on{background:var(--success);border-color:var(--success)}.setup-subject-item__name{flex:1;font-size:var(--font-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.82}.setup-subject-item--selected .setup-subject-item__name{opacity:1}.setup-subject-item__count{font-size:var(--font-caption);opacity:.32;flex-shrink:0}.study-setup__footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.setup-locked-card{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:0 0 16px;border:1px solid var(--panelvariant_divider, rgba(0, 0, 0, .1));border-radius:12px;background:var(--panelvariant_background, transparent)}.setup-locked-card__icon{display:flex;align-items:center;justify-content:center;width:26px;flex-shrink:0;color:var(--text-accent)}.setup-locked-card__body{flex:1;min-width:0;display:flex;flex-direction:column}.setup-locked-card__unlock{flex-shrink:0;padding:6px 14px;background:none;border:1px solid var(--panelvariant_divider, rgba(0, 0, 0, .15));border-radius:8px;font-size:var(--font-caption);font-weight:600;color:var(--panelvariant_text_primary, inherit);cursor:pointer;outline:none;opacity:.75;transition:opacity .12s,background .12s}.setup-locked-card__unlock:hover{opacity:1;background:var(--panelvariant_hover_bg, rgba(0, 0, 0, .04))}.setup-locked-card__unlock:focus-visible{outline:2px solid var(--panelvariant_accent, #7c6af7);outline-offset:2px}@media(max-width:520px){.study-setup__dual{grid-template-columns:1fr;grid-template-rows:1fr auto 1fr}.setup-dual-divider{width:auto;height:1px;margin:0 12px}}.setup-section-header--assigned{display:flex;align-items:center;gap:5px}.setup-section-header__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;flex-shrink:0}.study-countdown{display:flex;align-items:center;justify-content:center;margin:auto}.study-countdown__ring{--study_countdown_ring_track: var(--border-subtle);--study_countdown_ring_arc: var(--accent-500)}.study-countdown__ring{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center}.study-countdown__ring canvas{position:absolute;inset:0}.study-countdown__label{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.fb-panel{appearance:none;font-family:inherit;cursor:pointer;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 32px;border-radius:16px;text-align:center;width:auto;max-width:380px;min-width:200px;color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-card);animation:fb-panel-in .25s cubic-bezier(.34,1.56,.64,1)}.fb-panel--with-message{padding:20px 28px 22px}.fb-panel--correct{background:var(--success-bg);border-color:var(--success)}.fb-panel--wrong{background:var(--danger-bg);border-color:var(--danger)}.fb-panel--neutral{background:var(--surface-sunken);border-color:var(--border-subtle)}.fb-panel:hover{transform:translateY(-1px);transition:transform .12s ease}@keyframes fb-panel-in{0%{opacity:0;transform:scale(.88) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.fb-panel__verdict{display:flex;flex-direction:column;align-items:center;gap:6px}.fb-panel__icon{font-size:44px;font-weight:700;line-height:1;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:fb-icon-pop .3s cubic-bezier(.34,1.56,.64,1)}.fb-panel--correct .fb-panel__icon{background:var(--success);box-shadow:0 4px 16px var(--success-bg)}.fb-panel--wrong .fb-panel__icon{background:var(--danger);box-shadow:0 4px 16px var(--danger-bg)}.fb-panel--neutral .fb-panel__icon{background:var(--text-secondary)}@keyframes fb-icon-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.fb-panel__divider{width:60%;height:1px;background:#80808033;margin:8px 0}.fb-message{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.fb-message__icon{font-size:var(--font-h1);line-height:1;margin-bottom:2px}.fb-message--cleared{position:relative;overflow:visible}.streak-warning{display:flex;align-items:center;gap:6px;font-size:var(--font-caption);padding:6px 12px;border-radius:8px;margin-top:8px;animation:fade-in .2s ease}.streak-warning--caution{background:#ffc1071a;color:#e6a800;border:1px solid rgba(255,193,7,.25)}.streak-warning--danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.material-slots{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md);text-align:left}.material-slots__header{display:flex;align-items:center;gap:var(--space-2)}.material-slots__accent{width:4px;height:16px;border-radius:var(--radius-sm);background:var(--status-struggling);flex-shrink:0}.material-slots__source{margin-left:auto}.material-slots__reveals{display:flex;gap:var(--space-2);flex-wrap:wrap}.material-slots__contrast{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--status-struggling-bg);border-radius:var(--radius-sm)}.material-slots__mnemonic{padding:var(--space-2) var(--space-3);background:var(--surface-raised);border-radius:var(--radius-sm)}.material-slots__check{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.material-slots__check-options{display:flex;flex-direction:column;gap:var(--space-1)}.material-slots__check-option{padding:var(--space-2) var(--space-3);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background .12s ease}.material-slots__check-option:hover:not(:disabled){background:var(--surface-hover)}.material-slots__check-option:disabled{cursor:default}.material-slots__check-option--correct{background:var(--success-bg);border-color:var(--success)}.material-slots__check-option--wrong{background:var(--danger-bg);border-color:var(--danger)}.material-slots__continue{display:flex;justify-content:flex-end;padding-top:var(--space-1)}.study-session{display:flex;flex-direction:column;height:100%;overflow:hidden}.session-topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(128,128,128,.12);flex-shrink:0}.session-progress-wrap{flex:1;display:flex;align-items:center;gap:8px}.session-progress-track{flex:1;height:4px;background:#80808026;border-radius:2px;overflow:hidden}.session-progress-fill{height:100%;background:var(--study_countdown_ring_arc);border-radius:2px;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.session-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.session-stop-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;font-size:var(--font-small);opacity:.4;cursor:pointer;border-radius:6px;transition:opacity .15s ease,background .15s ease}.session-stop-btn:hover{opacity:1;background:#f443361f;color:var(--study_confidence_hard)}.session-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:24px 20px}.session-card-wrap{width:100%;max-width:700px;margin:auto}.session-feedback-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:20;background:#00000014;border-radius:12px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.session-loading{display:flex;align-items:center;justify-content:center;margin:auto;padding:40px}.session-loading__spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(128,128,128,.15);border-top-color:var(--study_countdown_ring_arc);animation:spin .8s linear infinite}.session-done{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:40px;margin:auto;animation:fade-in .3s ease}.session-done-emoji{font-size:52px;margin-bottom:8px}.session-material-modal{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(520px,calc(100vw - 32px));padding:16px;background:var(--surface-overlay);border-radius:16px;box-shadow:var(--shadow-overlay);overflow:hidden}.session-material-modal .fb-panel:hover{transform:none}.session-material-modal__body{width:100%;flex:1 1 auto;min-height:0;overflow-y:auto;border-radius:var(--radius-md);animation:fade-in .25s ease .1s backwards}.study-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.study-page__checking{display:flex;align-items:center;justify-content:center;flex:1}.study-page__spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border-subtle);border-top-color:var(--accent-500);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.study-page__resume{display:flex;align-items:center;justify-content:center;flex:1;padding:24px}.study-page__resume-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:32px 28px;border:2px solid var(--border-subtle);border-radius:16px;max-width:360px;width:100%;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.study-page__resume-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);margin-bottom:8px}.study-page__resume-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px;width:100%}.study-page__abandon-btn{background:none;border:none;cursor:pointer;font-size:var(--font-small);opacity:.4;color:inherit;padding:4px 8px;transition:opacity .15s ease}.study-page__abandon-btn:hover{opacity:.8}.progress-bar{width:100%;background:var(--border-subtle);border-radius:999px;overflow:hidden;position:relative}.progress-bar--compact{height:4px}.progress-bar--regular{height:8px}.progress-bar--large{height:12px}.progress-bar__fill{height:100%;border-radius:999px;transition:width .4s ease}.progress-bar__fill--static{transition:none}.progress-bar__fill--positive{background:var(--success)}.progress-bar__fill--warning{background:var(--warning)}.progress-bar__fill--negative{background:var(--danger)}.progress-bar__fill--neutral{background:var(--text-muted)}.study-lists{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.study-lists__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 4px}.study-lists__row{position:relative;display:flex;align-items:center;gap:10px;width:100%;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;padding:14px 12px 14px 16px;cursor:pointer;text-align:left;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s}.study-lists__row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.study-lists__row:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.study-lists__row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.study-lists__row-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.study-lists__row-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.study-lists__row-percent{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.study-lists__row-meta{font-variant-numeric:tabular-nums}.study-lists__row-chevron{display:flex;align-items:center;flex-shrink:0;color:var(--text-muted)}.study-lists__actions{position:relative;flex-shrink:0}.study-lists__actions-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:none;cursor:pointer;color:var(--text-secondary);transition:background .12s,color .12s}.study-lists__actions-btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.study-lists__actions-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.study-lists__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:60;min-width:172px;display:flex;flex-direction:column;gap:1px;padding:4px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 6px 20px #00000024}.study-lists__menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:none;border-radius:5px;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .1s}.study-lists__menu-item:hover{background:var(--surface-hover)}.study-lists__menu-item svg{flex-shrink:0;color:var(--text-secondary)}.study-lists__menu-item--danger svg{color:var(--danger)}.study-lists__empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:56px 16px;text-align:center}.study-lists__empty-title{font-weight:600}.study-lists__note{padding:8px 4px 0;opacity:.7}.study-lists__modal{max-width:460px}.study-lists__modal-line{margin-bottom:12px;line-height:1.5}.study-lists__modal-error{margin-top:8px}.study-lists__modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 16px}@media(max-width:599px){.study-lists__row{padding:12px}}.progress-module{width:100%;height:100%;overflow-y:auto;display:flex;justify-content:center}.progress-module__inner{width:100%;max-width:720px;min-width:0;padding:28px 24px 80px;display:flex;flex-direction:column;gap:20px}@media(max-width:599px){.progress-module__inner{padding:18px 14px 80px;gap:16px}}.progress-module__header{display:flex;flex-direction:column;gap:2px;padding:0 4px}.progress-module__header-with-back{display:flex;align-items:flex-start;gap:12px;padding:0 4px}.progress-module__back-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--border-subtle);border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s;flex-shrink:0}.progress-module__back-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.progress-module__back-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.progress-module__title-block{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.progress-module__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55}.progress-module__title{letter-spacing:-.02em}.progress-module__subtitle{margin-top:2px}.progress-module__loading,.progress-module__error{padding:48px 16px;text-align:center}.progress-module__error{color:var(--danger)}.plan-track__card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:14px;padding:15px 16px 13px;cursor:pointer;outline:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.plan-track__card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.plan-track__card:focus-visible{border-color:var(--status-info);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-info) 25%,transparent)}.plan-track__card:active{transform:translateY(1px)}.plan-track__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px}.plan-track__namewrap{display:flex;align-items:baseline;gap:8px;min-width:0}.plan-track__name{font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-track__mode{display:inline-flex;align-items:center;border:1px solid var(--border-subtle);border-radius:5px;padding:1px 5px;flex-shrink:0;text-transform:uppercase;letter-spacing:.06em}.plan-track__status{white-space:nowrap;flex-shrink:0}.plan-track__rail{position:relative;height:10px;border-radius:6px;overflow:hidden}.plan-track__fill{position:absolute;left:0;top:0;bottom:0;border-radius:6px 0 0 6px;transition:width .4s cubic-bezier(.4,0,.2,1)}.plan-track__zone{position:absolute;top:0;bottom:0;background:var(--text-secondary);opacity:.16}.plan-track__zone--cold{opacity:.14;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent)}.plan-track__zone--warming{opacity:.2}.plan-track__zone--warm{opacity:0}.plan-track__marker{position:absolute;top:-1px;bottom:-1px;width:2px;transform:translate(-1px);background:var(--text-primary)}.plan-track__marker--cold{opacity:.35;width:1px}.plan-track__marker--warming{opacity:.6}.plan-track__marker--warm{opacity:.9}.plan-track__scale{display:flex;justify-content:space-between;margin-top:7px}.plan-track__foot{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.plan-track__chev{display:inline-flex;align-items:center;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.plan-track__card,.plan-track__fill{transition:none}}.row-actions{position:relative;flex-shrink:0}.row-actions__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:none;cursor:pointer;color:var(--text-secondary);transition:background .12s,color .12s}.row-actions__btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.row-actions__btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.row-actions__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:60;min-width:172px;display:flex;flex-direction:column;gap:1px;padding:4px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 6px 20px #00000024}.row-actions__item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:none;border-radius:5px;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .1s}.row-actions__item:hover,.row-actions__item:focus-visible{background:var(--surface-hover);outline:none}.row-actions__item svg{flex-shrink:0;color:var(--text-secondary)}.row-actions__item--danger svg{color:var(--danger)}.study-plans{display:flex;flex-direction:column;gap:18px;width:100%;min-width:0}.study-plans__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}.study-plans__section{display:flex;flex-direction:column;gap:10px}.study-plans__label{text-transform:uppercase;letter-spacing:.09em;opacity:.6;padding:0 4px}.plan-card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:14px;padding:15px 16px 13px;cursor:pointer;outline:none;transition:background .15s ease,border-color .15s ease}.plan-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.plan-card:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.plan-card--archived{opacity:.62}.plan-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.plan-card__name{flex:1;min-width:0;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-card__meta{opacity:.7;font-variant-numeric:tabular-nums}.plan-card__goals{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.8;line-height:1.45}.plan-card__foot{display:flex;align-items:center;gap:10px;margin-top:2px}.plan-card__hint{opacity:.65;font-style:italic}.study-plans__empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:56px 16px;text-align:center}.study-plans__empty-title{font-weight:600}.study-plans__error{padding:8px 4px 0}.study-plans__modal{max-width:460px}.study-plans__modal-line{margin-bottom:12px;line-height:1.5}.study-plans__modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 16px}@media(max-width:599px){.plan-card{padding:12px}}.session-history{display:flex;flex-direction:column;gap:18px;width:100%;min-width:0}.session-history__empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:64px 16px;text-align:center}.session-history__empty-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:4px}.session-history__empty-title{font-weight:600}.session-history__empty-detail{opacity:.65}.session-history__bucket{display:flex;flex-direction:column;gap:6px}.session-history__bucket-label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55;padding:0 4px}.session-history__rows{display:flex;flex-direction:column;gap:4px}.session-history__row{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s}.session-history__row:hover{background:var(--surface-hover);border-color:var(--border-focus)}.session-history__row:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.session-history__row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.session-history__row-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}.session-history__row-time{font-weight:600;flex-shrink:0}.session-history__row-sep{flex-shrink:0}.session-history__row-context{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.session-history__row-stats{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--font-caption)}.session-history__chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-weight:600;font-variant-numeric:tabular-nums}.session-history__chip--positive{background:var(--success-bg);color:var(--success)}.session-history__chip--warning{background:var(--warning-bg);color:var(--warning)}.session-history__chip--negative{background:var(--danger-bg);color:var(--danger)}.session-history__row-meta{font-variant-numeric:tabular-nums}.session-history__delta{font-weight:600;font-variant-numeric:tabular-nums}.session-history__delta--positive{color:var(--success)}.session-history__delta--negative{color:var(--danger)}.session-history__row-chevron{display:flex;align-items:center;flex-shrink:0;color:var(--text-muted)}@media(max-width:599px){.session-history__row{padding:10px 12px;gap:10px}}.session-history-module{width:100%;height:100%;overflow-y:auto;display:flex;justify-content:center}.session-history-module__inner{width:100%;max-width:720px;min-width:0;padding:28px 24px 80px;display:flex;flex-direction:column;gap:20px}@media(max-width:599px){.session-history-module__inner{padding:18px 14px 80px;gap:16px}}.session-history-module__header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 4px;flex-wrap:wrap}.session-history-module__title-block{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.session-history-module__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55}.session-history-module__title{letter-spacing:-.02em}.session-history-module__filter{flex-shrink:0}.session-history-module__loading,.session-history-module__error{padding:48px 16px;text-align:center;font-size:var(--font-small);opacity:.7}.session-history-module__error{color:var(--danger)}.jamendo-module{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface);color:var(--text-primary);font-family:Omnes,system-ui,sans-serif}.jamendo-header{padding:14px 20px 10px;flex-shrink:0}.jamendo-search{position:relative;display:flex;align-items:center;gap:8px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:10px;padding:8px 12px;transition:border-color .15s,background .15s}.jamendo-search:focus-within{border-color:var(--border-focus);background:var(--field-bg)}.jamendo-search svg{opacity:.55;flex-shrink:0}.jamendo-search input{flex:1;background:transparent;border:none;color:inherit;font-size:var(--font-small);outline:none;font-family:inherit}.jamendo-search input::placeholder{color:var(--field-placeholder)}.jamendo-search__clear{background:none;border:none;color:var(--text-secondary);font-size:var(--font-h3);line-height:1;cursor:pointer;padding:0 2px}.jamendo-search__clear:hover{color:var(--text-primary)}.jamendo-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 20px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.jamendo-chip{background:var(--surface-sunken);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:99px;padding:5px 11px;font-size:var(--font-caption);font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px;font-family:inherit}.jamendo-chip:hover{background:var(--surface-hover);color:var(--text-primary)}.jamendo-chip.is-active,.jamendo-chip--liked.is-active{background:var(--surface-selected);border-color:var(--border-focus);color:var(--text-accent)}.jamendo-chip__count{background:var(--surface-sunken);border-radius:99px;padding:0 6px;font-size:var(--font-caption);font-variant-numeric:tabular-nums}.jamendo-chips__sep{width:1px;height:14px;background:var(--surface-sunken);margin:0 4px}.jamendo-body{display:flex;flex:1 1 0;min-height:0;gap:0}.jamendo-results{flex:1 1 0;min-width:0;overflow-y:auto;padding:14px 20px 24px}.jamendo-queue{width:280px;flex-shrink:0;border-left:1px solid var(--border-strong);background:var(--surface);display:flex;flex-direction:column;min-height:0}.jamendo-section-title{font-size:var(--font-caption);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px}.jamendo-track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.jamendo-track{display:grid;grid-template-columns:44px 1fr auto auto auto;align-items:center;gap:12px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background .12s}.jamendo-track:hover{background:var(--surface-hover)}.jamendo-track:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.jamendo-track.is-current{background:var(--surface-selected)}.jamendo-track.is-current .jamendo-track__title{color:var(--text-accent)}.jamendo-track__art{position:relative;width:44px;height:44px;border-radius:6px;overflow:hidden;background:var(--surface-sunken);border:none;padding:0;cursor:pointer;flex-shrink:0}.jamendo-track__art img{width:100%;height:100%;object-fit:cover;display:block}.jamendo-track__art-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--shadow-tint);color:var(--text-primary);font-size:var(--font-small);opacity:0;transition:opacity .15s}.jamendo-track__art:hover .jamendo-track__art-overlay,.jamendo-track.is-current .jamendo-track__art-overlay{opacity:1}.jamendo-track__meta{min-width:0}.jamendo-track__title{margin:0;font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-track__artist{margin:2px 0 0;font-size:var(--font-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-track__duration{font-size:var(--font-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.jamendo-track__like,.jamendo-track__action{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-body);padding:4px 6px;border-radius:4px;transition:color .12s,background .12s,transform .12s}.jamendo-track__like:hover,.jamendo-track__action:hover{color:var(--text-primary);background:var(--surface-hover)}.jamendo-track__like.is-liked{color:var(--danger)}.jamendo-track__like.is-liked:hover{color:var(--danger);transform:scale(1.1)}.jamendo-empty,.jamendo-error{text-align:center;padding:40px 24px;color:var(--text-muted);font-size:var(--font-small);line-height:1.5}.jamendo-error{color:var(--danger)}.jamendo-spinner{margin:24px auto;width:28px;height:28px;border:2px solid var(--surface-sunken);border-top-color:var(--text-accent);border-radius:50%;animation:jamendo-spin .8s linear infinite}@keyframes jamendo-spin{to{transform:rotate(360deg)}}.jamendo-queue__header{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px 8px;flex-shrink:0}.jamendo-queue__clear{background:none;border:none;color:var(--text-muted);font-size:var(--font-caption);cursor:pointer;font-family:inherit;letter-spacing:.05em;text-transform:uppercase}.jamendo-queue__clear:hover{color:var(--text-primary)}.jamendo-queue__empty{padding:0 16px;color:var(--text-muted);font-size:var(--font-caption);margin:0}.jamendo-queue__list{list-style:none;margin:0;padding:0 8px 16px;overflow-y:auto;flex:1}.jamendo-queue__item{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:default}.jamendo-queue__item:hover{background:var(--surface-hover)}.jamendo-queue__item img{width:36px;height:36px;border-radius:4px;object-fit:cover}.jamendo-queue__title{font-size:var(--font-caption);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.jamendo-queue__artist{font-size:var(--font-caption);color:var(--text-secondary);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-queue__remove{background:none;border:none;color:var(--text-muted);font-size:var(--font-body);cursor:pointer;padding:0 4px;line-height:1}.jamendo-queue__remove:hover{color:var(--text-primary)}.jamendo-transport{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--border-subtle);background:var(--surface);flex-shrink:0;font-family:Omnes,system-ui,sans-serif}.jamendo-transport[data-idle=true] .jamendo-transport__art,.jamendo-transport[data-idle=true] .jamendo-transport__meta{display:none}.jamendo-transport__now{display:flex;align-items:center;gap:10px;min-width:0}.jamendo-transport__art{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.jamendo-transport__meta{min-width:0}.jamendo-transport__title{font-size:var(--font-caption);font-weight:600;margin:0;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.jamendo-transport__artist{font-size:var(--font-caption);color:var(--text-secondary);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.jamendo-transport__placeholder{font-size:var(--font-caption);color:var(--text-muted);font-style:italic}.jamendo-transport__center{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:280px}.jamendo-transport__buttons{display:flex;align-items:center;gap:4px}.jamendo-transport__controls-row{display:flex;align-items:center;justify-content:center}.jamendo-transport__btn{background:none;border:none;color:var(--text-primary);font-size:var(--font-small);cursor:pointer;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s;font-family:inherit}.jamendo-transport__btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.jamendo-transport__btn:disabled{opacity:.35;cursor:not-allowed}.jamendo-transport__btn--play{background:var(--action-bg);color:var(--action-text);width:34px;height:34px;font-size:var(--font-caption)}.jamendo-transport__btn--play:hover:not(:disabled){background:var(--action-bg);color:var(--action-text);transform:scale(1.04)}.jamendo-transport__btn--play:disabled{background:var(--action-bg);color:var(--action-text);opacity:.35}.jamendo-transport__spinner{width:12px;height:12px;border:2px solid var(--action-bg-subtle);border-top-color:var(--action-text);border-radius:50%;animation:jamendo-spin .7s linear infinite}.jamendo-transport__scrub{display:flex;align-items:center;gap:8px;width:100%}.jamendo-transport__time{font-size:var(--font-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:38px;text-align:center}.jamendo-transport__scrub input{flex:1;-webkit-appearance:none;appearance:none;height:3px;border-radius:99px;background:linear-gradient(to right,var(--text-accent) 0%,var(--text-accent) var(--val, 0%),var(--surface-sunken) var(--val, 0%),var(--surface-sunken) 100%);cursor:pointer;margin:0}.jamendo-transport__scrub input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-primary);cursor:pointer;margin-top:-3px;opacity:0;transition:opacity .12s}.jamendo-transport__scrub:hover input::-webkit-slider-thumb{opacity:1}.jamendo-transport__scrub input:disabled{opacity:.4;cursor:not-allowed}.jamendo-transport__volume{display:flex;align-items:center;justify-content:flex-end;gap:8px}.jamendo-transport__volume input{-webkit-appearance:none;appearance:none;width:90px;height:3px;border-radius:99px;background:linear-gradient(to right,var(--text-accent) 0%,var(--text-accent) var(--val, 80%),var(--surface-sunken) var(--val, 80%),var(--surface-sunken) 100%);cursor:pointer}.jamendo-transport__volume input::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--text-primary);cursor:pointer}.jamendo-module.is-mobile .jamendo-transport{grid-template-columns:1fr;grid-auto-rows:auto;gap:8px}.jamendo-module.is-mobile .jamendo-transport__center{min-width:0}.jamendo-module.is-mobile .jamendo-transport{display:flex;flex-direction:column;align-items:stretch}.jamendo-module.is-mobile .jamendo-transport__center{display:flex;flex-direction:column;gap:8px;width:100%}.jamendo-module.is-mobile .jamendo-transport__now{width:100%}.jamendo-module.is-mobile .jamendo-transport__meta{flex:1;min-width:0}.jamendo-module.is-mobile .jamendo-transport__mobile-utils{margin-left:auto;flex-shrink:0}.jamendo-module.is-mobile .jamendo-transport__controls-row{display:flex;align-items:center;justify-content:center;width:100%}.jamendo-module.is-mobile .jamendo-transport__scrub{width:100%}.jamendo-module.is-mobile .jamendo-transport__volume{display:none}.jamendo-volpop{position:relative;display:inline-flex}.jamendo-transport__mobile-utils{display:inline-flex;align-items:center;gap:4px}.jamendo-volpop__panel{position:absolute;bottom:calc(100% + 8px);right:0;z-index:50;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 8px 28px #0006}.jamendo-volpop__slider{-webkit-appearance:none;appearance:none;width:110px;height:4px;transform:rotate(-90deg);transform-origin:center;margin:52px 0;border-radius:99px;cursor:pointer;background:linear-gradient(to right,var(--text-accent) 0%,var(--text-accent) var(--val, 0%),var(--surface-sunken) var(--val, 0%),var(--surface-sunken) 100%)}.jamendo-volpop__slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-primary);cursor:pointer}.jamendo-volpop__mute{background:none;border:1px solid var(--border-strong);color:var(--text-primary);font-family:inherit;font-size:var(--font-caption);padding:6px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}.jamendo-volpop__mute:hover{background:var(--surface-hover)}.jamendo-mini{position:relative;background:var(--surface);border-top:1px solid var(--border-subtle);color:var(--text-primary);font-family:Omnes,system-ui,sans-serif;flex-shrink:0}.jamendo-mini__progress{height:3px;position:relative}.jamendo-mini__progress input{width:100%;height:3px;margin:0;-webkit-appearance:none;appearance:none;background:linear-gradient(to right,var(--text-accent) 0%,var(--text-accent) var(--val, 0%),var(--surface-sunken) var(--val, 0%),var(--surface-sunken) 100%);cursor:pointer}.jamendo-mini__progress input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);cursor:pointer;margin-top:-4px;opacity:0;transition:opacity .15s}.jamendo-mini__progress:hover input::-webkit-slider-thumb{opacity:1}.jamendo-mini__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:10px 20px;min-height:56px}.jamendo-mini__nowplaying{display:flex;align-items:center;gap:12px;min-width:0}.jamendo-mini__art{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0}.jamendo-mini__meta{min-width:0}.jamendo-mini__title{font-size:var(--font-small);font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-mini__artist{font-size:var(--font-caption);color:var(--media_player_text_secondary);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-mini__transport{display:flex;align-items:center;gap:6px}.jamendo-mini__btn{background:none;border:none;color:var(--text-primary);font-size:var(--font-small);cursor:pointer;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.jamendo-mini__btn:hover{background:var(--surface-hover);color:var(--text-primary)}.jamendo-mini__btn--play{background:var(--action-bg);color:var(--action-text);width:36px;height:36px;font-size:var(--font-caption)}.jamendo-mini__btn--play:hover{background:var(--action-bg);color:var(--action-text);transform:scale(1.04)}.jamendo-mini__time{font-size:var(--font-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:8px;white-space:nowrap}.jamendo-mini__spinner{width:14px;height:14px;border:2px solid var(--action-bg-subtle);border-top-color:var(--action-text);border-radius:50%;animation:jamendo-spin .7s linear infinite}.jamendo-mini__volume{display:flex;align-items:center;justify-content:flex-end;gap:8px}.jamendo-mini__volume input{-webkit-appearance:none;appearance:none;width:90px;height:3px;border-radius:99px;background:linear-gradient(to right,var(--text-accent) 0%,var(--text-accent) var(--val, 80%),var(--surface-sunken) var(--val, 80%),var(--surface-sunken) 100%);cursor:pointer}.jamendo-mini__volume input::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--text-primary);cursor:pointer}.jamendo-module.is-mobile .jamendo-mini__volume{display:none}.jamendo-module.is-mobile .jamendo-mini__row{grid-template-columns:1fr auto}.jamendo-topbar-player{position:relative;display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;height:40px;border-radius:999px;background:var(--surface);border:1px solid var(--border-subtle);font-family:Omnes,system-ui,sans-serif;max-width:360px;min-width:0}.jamendo-topbar-player__art{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.jamendo-topbar-player[data-playing=true] .jamendo-topbar-player__art{animation:jamendo-spin-slow 6s linear infinite}.jamendo-topbar-player__meta{min-width:0;flex:1 1 0}.jamendo-topbar-player__title{font-size:var(--font-caption);font-weight:600;margin:0;color:var(--media_player_text_primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.jamendo-topbar-player__artist{font-size:var(--font-caption);margin:1px 0 0;color:var(--media_player_text_secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.jamendo-topbar-player__transport{display:flex;align-items:center;gap:2px;flex-shrink:0}.jamendo-topbar-player__btn{background:none;border:none;color:var(--media_player_btn_fg);font-size:var(--font-caption);cursor:pointer;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s;padding:0}.jamendo-topbar-player__btn:hover{background:var(--media_player_btn_bg_hover);color:var(--media_player_text_primary)}.jamendo-topbar-player__btn--play{background:var(--media_player_play_btn_bg);color:var(--media_player_play_btn_fg);width:28px;height:28px;font-size:var(--font-caption)}.jamendo-topbar-player__btn--play:hover{background:var(--media_player_play_btn_bg);color:var(--media_player_play_btn_fg)}.jamendo-topbar-player__btn--util{width:32px;height:32px;font-size:var(--font-small)}.jamendo-topbar-player__btn--close:hover{background:color-mix(in srgb,var(--media_player_text_primary) 12%,transparent);color:var(--media_player_text_primary)}.jamendo-topbar-player__spinner{width:11px;height:11px;border:2px solid var(--media_player_play_btn_spinner_track);border-top-color:var(--media_player_play_btn_fg);border-radius:50%;animation:jamendo-spin .7s linear infinite}.jamendo-topbar-player__progress{position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--media_player_progress_track);border-radius:999px;overflow:hidden}.jamendo-topbar-player__progress-fill{height:100%;background:var(--media_player_accent_solid);transition:width .25s linear}@keyframes jamendo-spin-slow{to{transform:rotate(360deg)}}@media(max-width:720px){.jamendo-topbar-player{max-width:160px}.jamendo-topbar-player__meta{display:none}}.jamendo-module.is-mobile .jamendo-header{padding:12px 14px 8px}.jamendo-module.is-mobile .jamendo-search{padding:10px 14px;border-radius:12px}.jamendo-module.is-mobile .jamendo-search input{font-size:var(--font-body);min-height:24px}.jamendo-module.is-mobile .jamendo-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:6px 14px 14px}.jamendo-module.is-mobile .jamendo-chips::-webkit-scrollbar{display:none}.jamendo-module.is-mobile .jamendo-chip{flex-shrink:0;padding:8px 14px;min-height:36px;font-size:var(--font-small)}.jamendo-module.is-mobile .jamendo-track{grid-template-columns:52px 1fr auto auto auto;gap:14px;padding:8px 10px;min-height:44px}.jamendo-module.is-mobile .jamendo-track__art{width:52px;height:52px;border-radius:8px}.jamendo-module.is-mobile .jamendo-track__like,.jamendo-module.is-mobile .jamendo-track__action{font-size:var(--font-body);padding:8px 10px;min-width:40px;min-height:40px}.jamendo-module.is-mobile .jamendo-track__duration{font-size:var(--font-small)}.jamendo-module.is-mobile .jamendo-transport{padding:8px 14px;gap:6px}.jamendo-module.is-mobile .jamendo-transport__btn{width:40px;height:40px;font-size:var(--font-body)}.jamendo-module.is-mobile .jamendo-transport__btn--play{width:44px;height:44px}.jamendo-module.is-mobile .jamendo-transport__buttons{gap:6px}.jamendo-queue__header--sheet{padding:12px 16px;border-bottom:1px solid var(--media_player_divider)}.jamendo-floating{position:fixed;z-index:200;width:280px;min-height:56px;background:var(--media_player_surface_module);border:1px solid var(--media_player_divider_strong);border-radius:14px;box-shadow:0 6px 22px #00000059;display:flex;align-items:center;padding:6px 8px 6px 6px;gap:8px;font-family:Omnes,system-ui,sans-serif;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.jamendo-floating.is-dragging{cursor:grabbing}.jamendo-floating__body{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;cursor:pointer}.jamendo-floating__art{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0;pointer-events:none}.jamendo-floating__meta{min-width:0;flex:1 1 0}.jamendo-floating__title{font-size:var(--font-small);font-weight:600;margin:0;color:var(--media_player_text_primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.jamendo-floating__artist{font-size:var(--font-caption);color:var(--media_player_text_secondary);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.jamendo-floating__transport{display:flex;align-items:center;gap:2px;flex-shrink:0}.jamendo-floating__btn{background:none;border:none;color:var(--media_player_btn_fg);cursor:pointer;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-family:inherit;transition:background .12s,color .12s}.jamendo-floating__btn:hover{background:var(--media_player_btn_bg_hover);color:var(--media_player_text_primary)}.jamendo-floating__btn--play{background:var(--media_player_play_btn_bg);color:var(--media_player_play_btn_fg);width:38px;height:38px}.jamendo-floating__btn--play:hover{background:var(--media_player_play_btn_bg);color:var(--media_player_play_btn_fg);transform:scale(1.04)}.jamendo-floating__spinner{width:14px;height:14px;border:2px solid var(--media_player_play_btn_spinner_track);border-top-color:var(--media_player_play_btn_fg);border-radius:50%;animation:jamendo-spin .7s linear infinite}.player-close-confirm{background:var(--media_player_surface_module);color:var(--media_player_text_primary);border-radius:14px;padding:22px 22px 18px;width:100%;max-width:380px;box-shadow:0 12px 40px #0006;font-family:Omnes,system-ui,sans-serif}.player-close-confirm__title{margin:0 0 6px;font-size:var(--font-h3);font-weight:600}.player-close-confirm__track{margin:0 0 14px;font-size:var(--font-small);color:var(--media_player_accent_text);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-close-confirm__body{margin:0 0 18px;font-size:var(--font-small);color:var(--media_player_text_secondary);line-height:1.5}.player-close-confirm__remember{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:var(--font-small);color:var(--media_player_text_secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.player-close-confirm__remember input{cursor:pointer}.player-close-confirm__actions{display:flex;gap:10px;justify-content:flex-end}.player-close-confirm__btn{border:none;border-radius:10px;padding:9px 16px;font-size:var(--font-small);font-weight:600;cursor:pointer;font-family:inherit;min-height:40px}.player-close-confirm__btn--ghost{background:none;color:var(--media_player_text_secondary)}.player-close-confirm__btn--ghost:hover{background:var(--media_player_btn_bg_hover);color:var(--media_player_text_primary)}.player-close-confirm__btn--primary{background:var(--media_player_play_btn_bg);color:var(--media_player_play_btn_fg)}.player-close-confirm__btn--primary:hover{transform:scale(1.02)}@media(max-width:480px){.jamendo-floating{width:calc(100vw - 32px);max-width:320px}}.jamendo-glyph{position:relative;background:none;border:none;cursor:pointer;width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-body);transition:background .12s}.jamendo-glyph:hover{background:var(--media_player_btn_bg_hover)}.jamendo-glyph__icon{line-height:1}.jamendo-glyph__dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--media_player_text_muted)}.jamendo-glyph__dot.is-playing{background:var(--media_player_accent_solid);box-shadow:0 0 0 0 var(--media_player_accent_solid);animation:jamendo-pulse 1.6s ease-out infinite}@keyframes jamendo-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--media_player_accent_solid) 60%,transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb,var(--media_player_accent_solid) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--media_player_accent_solid) 0%,transparent)}}.jamendo-pop{background:var(--media_player_surface_module);color:var(--media_player_text_primary);border:1px solid var(--media_player_divider_strong);border-radius:14px;box-shadow:0 12px 40px #0006;padding:14px;font-family:Omnes,system-ui,sans-serif}.jamendo-pop__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.jamendo-pop__art{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}.jamendo-pop__meta{min-width:0;flex:1}.jamendo-pop__title{font-size:var(--font-small);font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-pop__artist{font-size:var(--font-caption);color:var(--media_player_text_secondary);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamendo-pop__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.jamendo-pop__iconbtn{background:none;border:none;color:var(--media_player_btn_fg);cursor:pointer;width:40px;height:40px;border-radius:10px;flex-shrink:0;font-size:var(--font-h3);display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.jamendo-pop__iconbtn:hover{background:var(--media_player_btn_bg_hover);color:var(--media_player_text_primary)}.jamendo-pop__iconbtn--close:hover{background:color-mix(in srgb,var(--media_player_text_primary) 12%,transparent);color:var(--media_player_text_primary)}.jamendo-pop__scrub{display:flex;align-items:center;gap:8px;margin-bottom:10px}.jamendo-pop__time{font-size:var(--font-caption);color:var(--media_player_text_muted);font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.jamendo-pop__scrub input,.jamendo-pop__volume input{-webkit-appearance:none;appearance:none;height:4px;border-radius:99px;cursor:pointer;background:linear-gradient(to right,var(--media_player_accent_solid) 0%,var(--media_player_accent_solid) var(--val, 0%),var(--media_player_progress_track) var(--val, 0%),var(--media_player_progress_track) 100%)}.jamendo-pop__scrub input{flex:1}.jamendo-pop__scrub input::-webkit-slider-thumb,.jamendo-pop__volume input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--media_player_scrubber_thumb);cursor:pointer}.jamendo-pop__transport{display:flex;align-items:center;gap:6px}.jamendo-pop__btn{background:none;border:none;color:var(--media_player_btn_fg);cursor:pointer;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-family:inherit;transition:background .12s,color .12s}.jamendo-pop__btn:hover{background:var(--media_player_btn_bg_hover);color:var(--media_player_text_primary)}.jamendo-pop__btn--play{background:var(--media_player_play_btn_bg);color:var(--media_player_play_btn_fg);width:42px;height:42px}.jamendo-pop__spinner{width:14px;height:14px;border:2px solid var(--media_player_play_btn_spinner_track);border-top-color:var(--media_player_play_btn_fg);border-radius:50%;animation:jamendo-spin .7s linear infinite}.jamendo-pop__volume{display:flex;align-items:center;gap:6px;margin-left:auto}.jamendo-pop__volume input{width:70px}.youtube-module{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface);color:var(--text-primary);font-family:Omnes,system-ui,sans-serif;overflow:hidden}.youtube-header{padding:14px 20px 10px;flex-shrink:0}.youtube-search{display:flex;align-items:center;gap:8px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:10px;padding:8px 12px;transition:border-color .15s,background .15s}.youtube-search:focus-within{border-color:var(--border-focus);background:var(--field-bg)}.youtube-search svg{opacity:.55;flex-shrink:0}.youtube-search input{flex:1;background:transparent;border:none;color:inherit;font-size:var(--font-small);outline:none;font-family:inherit}.youtube-search input::placeholder{color:var(--text-muted)}.youtube-search__clear{background:none;border:none;color:var(--text-secondary);font-size:var(--font-h3);line-height:1;cursor:pointer;padding:0 2px}.youtube-search__clear:hover{color:var(--text-primary)}.youtube-search__load{background:var(--action-bg);color:var(--action-text);border:none;border-radius:6px;padding:4px 14px;font-size:var(--font-caption);font-weight:600;cursor:pointer;font-family:inherit}.youtube-tabs{display:flex;align-items:center;gap:4px;padding:0 20px 8px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.youtube-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-caption);font-weight:500;padding:8px 12px;margin-bottom:-1px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:color .12s,border-color .12s}.youtube-tab:hover{color:var(--text-primary)}.youtube-tab.is-active{color:var(--text-accent);border-bottom-color:var(--text-accent)}.youtube-tab__count{background:var(--surface-sunken);border-radius:99px;padding:0 6px;font-size:var(--font-caption);font-variant-numeric:tabular-nums}.youtube-tabs__action{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;padding:4px 8px}.youtube-tabs__action:hover{color:var(--text-primary)}.youtube-stage-fullsize{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);z-index:1}.youtube-stage__frame{position:relative;width:100%;height:100%;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;overflow:hidden}.youtube-stage__placeholder{text-align:center;color:var(--text-muted);padding:20px}.youtube-stage__placeholder svg{color:var(--text-muted);opacity:.6}.youtube-stage__placeholder p{margin:8px 0 0;font-size:var(--font-small)}.youtube-stage__placeholder-sub{font-size:var(--font-caption)!important;opacity:.7}.youtube-edge-handle{position:absolute;top:0;bottom:0;left:0;width:10px;background:linear-gradient(to right,color-mix(in srgb,var(--surface) 78%,transparent),color-mix(in srgb,var(--surface) 0%,transparent));border:none;border-right:1px solid color-mix(in srgb,var(--text-primary) 12%,transparent);cursor:pointer;z-index:20;display:flex;align-items:center;justify-content:center;padding:0;transition:width .18s ease,background .18s,left .22s ease;font-family:inherit}.youtube-edge-handle:hover{width:22px;background:linear-gradient(to right,color-mix(in srgb,var(--surface) 95%,transparent),color-mix(in srgb,var(--surface) 30%,transparent))}.youtube-edge-handle__icon{width:22px;height:22px;border-radius:50%;background:var(--action-bg);color:var(--action-text);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .15s,transform .15s;box-shadow:0 2px 6px #0000004d;flex-shrink:0}.youtube-edge-handle:hover .youtube-edge-handle__icon{opacity:1;transform:scale(1)}:is(.youtube-module,.youtube-chrome-portal).is-watch.sidebar-open .youtube-edge-handle{left:420px}.youtube-sidebar{position:absolute;top:0;left:0;bottom:0;width:420px;background:var(--surface);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-strong);z-index:10;transition:transform .22s ease;overflow:hidden}.youtube-module.is-browse .youtube-sidebar{width:100%;border-right:none}:is(.youtube-module,.youtube-chrome-portal).is-watch.sidebar-closed .youtube-sidebar{transform:translate(-100%)}:is(.youtube-module,.youtube-chrome-portal).is-watch .youtube-sidebar{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:4px 0 16px #0000004d}.youtube-chrome-portal{pointer-events:none;overflow:hidden}.youtube-chrome-portal .youtube-edge-handle,.youtube-chrome-portal .youtube-sidebar{pointer-events:auto}.youtube-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.youtube-row{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:6px;border-radius:8px;cursor:default;transition:background .12s}.youtube-row:hover{background:var(--surface-hover)}.youtube-row.is-current{background:var(--surface-selected)}.youtube-row.is-current .youtube-row__title{color:var(--text-accent)}.youtube-row__thumb{position:relative;width:100px;height:56px;background:var(--surface-sunken);border:none;border-radius:6px;overflow:hidden;cursor:pointer;padding:0;flex-shrink:0}.youtube-row__thumb img{width:100%;height:100%;object-fit:cover;display:block}.youtube-row__dur{position:absolute;right:4px;bottom:4px;background:var(--shadow-tint);color:var(--text-primary);font-size:var(--font-caption);font-weight:600;padding:1px 5px;border-radius:3px;font-variant-numeric:tabular-nums}.youtube-row__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--shadow-tint);color:var(--text-primary);font-size:var(--font-body);opacity:0;transition:opacity .12s}.youtube-row__thumb:hover .youtube-row__overlay,.youtube-row.is-current .youtube-row__overlay{opacity:1}.youtube-row__meta{min-width:0;padding-top:2px}.youtube-row__title{margin:0;font-size:var(--font-small);font-weight:500;line-height:1.35;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.youtube-row__channel{margin:4px 0 0;font-size:var(--font-caption);color:var(--text-secondary)}.youtube-row__actions{display:flex;flex-direction:column;gap:2px;padding-top:2px;align-items:flex-end}.youtube-row__btn{background:none;border:none;color:var(--text-muted);font-size:var(--font-small);width:26px;height:26px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .12s,background .12s,transform .12s}.youtube-row__btn:hover{color:var(--text-primary);background:var(--surface-hover)}.youtube-row__btn.is-fav{color:var(--danger)}.youtube-row__btn.is-fav:hover{color:var(--danger);transform:scale(1.1)}.youtube-empty,.youtube-error{text-align:center;padding:36px 24px;color:var(--text-muted);font-size:var(--font-small);line-height:1.5}.youtube-error{color:var(--danger)}.youtube-spinner{margin:24px auto;width:28px;height:28px;border:2px solid var(--surface-sunken);border-top-color:var(--text-accent);border-radius:50%;animation:youtube-spin .8s linear infinite}@keyframes youtube-spin{to{transform:rotate(360deg)}}.youtube-list{padding:0 14px 16px;overflow-y:auto;flex:1 1 0;min-height:0}.youtube-queue{border-top:1px solid var(--border-subtle);padding:10px 14px 12px;display:flex;flex-direction:column;flex-shrink:0;max-height:40%;min-height:0}.youtube-queue__header{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 6px;flex-shrink:0}.youtube-queue__title{font-size:var(--font-caption);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0}.youtube-queue__clear{background:none;border:none;color:var(--text-muted);font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;font-family:inherit}.youtube-queue__clear:hover{color:var(--text-primary)}.youtube-queue__list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.youtube-queue__item{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;padding:4px;border-radius:6px}.youtube-queue__item:hover{background:var(--surface-hover)}.youtube-queue__item img{width:72px;height:40px;object-fit:cover;border-radius:4px}.youtube-queue__item-title{font-size:var(--font-caption);line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.youtube-queue__item-channel{font-size:var(--font-caption);color:var(--text-secondary);margin:2px 0 0}.youtube-queue__remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-body);padding:0 4px;line-height:1}.youtube-queue__remove:hover{color:var(--text-primary)}.youtube-module.is-drag-hover{outline:2px dashed var(--text-accent);outline-offset:-8px}.youtube-drop-overlay{position:absolute;inset:0;background:var(--shadow-tint);display:flex;align-items:center;justify-content:center;z-index:30;pointer-events:none}.youtube-drop-overlay p{color:var(--text-primary);font-size:var(--font-body);font-weight:600;background:var(--surface);padding:16px 24px;border-radius:8px;border:1px solid var(--border-focus)}:is(.youtube-module,.youtube-chrome-portal).is-mobile.is-watch .youtube-sidebar{width:92%}:is(.youtube-module,.youtube-chrome-portal).is-mobile.is-watch.sidebar-open .youtube-edge-handle{left:92%}.youtube-topbar-player{position:relative;display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;height:40px;border-radius:8px;background:var(--surface);border:1px solid var(--border-subtle);font-family:Omnes,system-ui,sans-serif;max-width:380px;min-width:0}.youtube-topbar-player__thumb{width:56px;height:32px;border-radius:4px;object-fit:cover;background:var(--surface-sunken);flex-shrink:0}.youtube-topbar-player__meta{min-width:0;flex:1 1 0}.youtube-topbar-player__title{font-size:var(--font-caption);font-weight:600;margin:0;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.youtube-topbar-player__channel{font-size:var(--font-caption);color:var(--text-secondary);margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.youtube-topbar-player__transport{display:flex;align-items:center;gap:1px;flex-shrink:0}.youtube-topbar-player__btn{background:none;border:none;color:var(--text-primary);font-size:var(--font-caption);cursor:pointer;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s;padding:0}.youtube-topbar-player__btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.youtube-topbar-player__btn:disabled{opacity:.35;cursor:not-allowed}.youtube-topbar-player__btn--play{background:var(--action-bg);color:var(--action-text);width:26px;height:26px;font-size:var(--font-caption)}.youtube-topbar-player__btn--play:hover{background:var(--action-bg);color:var(--action-text)}@media(max-width:720px){.youtube-topbar-player{max-width:200px}.youtube-topbar-player__meta{display:none}}.youtube-module.is-mobile .youtube-header{padding:12px 14px 8px}.youtube-module.is-mobile .youtube-search{padding:10px 14px;border-radius:12px}.youtube-module.is-mobile .youtube-search input{font-size:var(--font-body);min-height:24px}.youtube-module.is-mobile .youtube-search__load{padding:6px 16px;min-height:36px;font-size:var(--font-small)}.youtube-module.is-mobile .youtube-tab{padding:12px 14px;font-size:var(--font-small);min-height:44px}.youtube-module.is-mobile .youtube-tabs__action{padding:8px 12px;min-height:36px}.youtube-module.is-mobile .youtube-row{grid-template-columns:120px 1fr auto;gap:14px;padding:10px;min-height:76px}.youtube-module.is-mobile .youtube-row__thumb{width:120px;height:68px}.youtube-module.is-mobile .youtube-row__btn{width:40px;height:40px;font-size:var(--font-body)}.youtube-module.is-mobile .youtube-row__title{font-size:var(--font-small)}:is(.youtube-module,.youtube-chrome-portal).is-mobile .youtube-edge-handle{width:14px}:is(.youtube-module,.youtube-chrome-portal).is-mobile .youtube-edge-handle:hover{width:28px}:is(.youtube-module,.youtube-chrome-portal).is-mobile .youtube-edge-handle__icon{width:28px;height:28px}.youtube-playlists{display:flex;flex-direction:column}.youtube-playlists__account{font-size:var(--font-caption);color:var(--text-secondary);padding:4px 4px 10px;opacity:.8}.youtube-connect{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:32px 20px}.youtube-connect__title{font-size:var(--font-body);font-weight:600;margin:4px 0 0}.youtube-connect__sub{font-size:var(--font-small);color:var(--text-secondary);max-width:280px;margin:0;line-height:1.4}.youtube-connect__btn{margin-top:8px;padding:10px 18px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:var(--font-small);font-weight:600;background:var(--action-bg);color:var(--action-text);transition:opacity .12s}.youtube-connect__btn:hover{opacity:.88}.youtube-playlists__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.youtube-playlist-card{list-style:none}.youtube-playlist-card__btn{display:flex;flex-direction:column;gap:6px;width:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:inherit}.youtube-playlist-card__thumb{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center}.youtube-playlist-card__thumb img{width:100%;height:100%;object-fit:cover}.youtube-playlist-card__noart{font-size:var(--font-h1);opacity:.5}.youtube-playlist-card__count{position:absolute;bottom:6px;right:6px;background:var(--shadow-tint);color:var(--text-primary);font-size:var(--font-caption);font-weight:600;padding:2px 6px;border-radius:4px}.youtube-playlist-card__btn:hover .youtube-playlist-card__thumb{outline:2px solid var(--border-focus);outline-offset:1px}.youtube-playlist-card__title{font-size:var(--font-small);font-weight:500;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.youtube-playlists__heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px}.youtube-playlists__heading-title{font-size:var(--font-body);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.youtube-playlists__playall{flex-shrink:0;padding:6px 12px;border-radius:7px;border:none;cursor:pointer;font-family:inherit;font-size:var(--font-caption);font-weight:600;background:var(--action-bg);color:var(--action-text);transition:opacity .12s}.youtube-playlists__playall:hover{opacity:.88}.youtube-row__noart,.youtube-queue__noart{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--font-h3);opacity:.6}.youtube-row__noart{border-radius:inherit}.oracle__agenda{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-raised)}.oracle__agenda-head{display:flex;align-items:center;gap:7px;padding-bottom:7px;margin-bottom:2px;border-bottom:1px solid var(--border-subtle)}.oracle__agenda-head-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.oracle__agenda-range{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oracle__agenda-count{flex-shrink:0;padding:1px 7px;border-radius:10px;background:var(--surface-sunken);font-weight:600;opacity:.75}.oracle__agenda-day{display:flex;flex-direction:column;gap:2px;min-width:0}.oracle__agenda-day-label{padding:8px 0 3px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.55}.oracle__agenda-row{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:5px 4px;border-radius:7px}.oracle__agenda-bar{width:3px;min-height:18px;align-self:stretch;flex-shrink:0;border-radius:2px}.oracle__agenda-time{flex-shrink:0;min-width:42px;padding-top:1px;font-variant-numeric:tabular-nums}.oracle__agenda-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.oracle__agenda-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oracle__agenda-meta{opacity:.65}.oracle__agenda-desc{margin-top:2px;line-height:1.4;opacity:.75}.oracle__proj-card{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-raised);box-sizing:border-box}.oracle__proj-card-head{display:flex;align-items:baseline;gap:8px;min-width:0}.oracle__proj-card-title{font-weight:700;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oracle__proj-card-scope{margin-left:auto;flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary)}.oracle__proj-section{display:flex;flex-direction:column;gap:2px}.oracle__proj-section-label{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.oracle__proj-section-icon{display:flex;align-items:center;flex-shrink:0}.oracle__proj-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;min-width:0}.oracle__proj-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.oracle__proj-where{flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary);background:var(--surface-sunken);border-radius:4px;padding:1px 6px}.oracle__proj-due{flex-shrink:0;font-size:var(--font-caption);color:var(--text-secondary)}.oracle__proj-due--overdue{color:var(--danger);font-weight:600}.oracle__proj-pri{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:currentColor}.oracle__proj-pri--1{color:var(--danger)}.oracle__proj-pri--2{color:var(--warning)}.oracle__proj-pri--3{color:var(--text-muted)}.oracle__proj-waiting{padding:0 6px 4px 22px;font-size:var(--font-caption);color:var(--text-muted);line-height:1.45}.oracle__proj-more{padding:2px 6px;font-size:var(--font-caption);color:var(--text-muted)}@container oracle (max-width: 480px){.oracle__proj-card{padding:12px 14px}.oracle__proj-item{flex-wrap:wrap}.oracle__proj-title{flex:1 1 100%;white-space:normal}}.oracle__root{display:flex;height:100%;min-height:0;container-type:inline-size;container-name:oracle;--oracle-col: 760px;--oracle-accept: #4caf50;--oracle-reject: #e57373}.oracle__shell{display:flex;flex-direction:row;width:100%;height:100%;min-height:0;gap:12px}.oracle__sidebar{flex:0 0 260px;min-width:0;min-height:0;display:flex}.oracle__main{flex:1 1 auto;min-width:0;min-height:0;display:flex}.oracle__layout{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;gap:8px;padding:12px;box-sizing:border-box}.oracle__layout>*:not(.oracle__messages){width:100%;max-width:var(--oracle-col);margin-inline:auto}.oracle__header{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding-bottom:4px}.oracle__iconbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--text-secondary)}.oracle__iconbtn:hover{background:var(--action-ghost-hover);color:var(--text-primary)}.oracle__iconbtn--on{color:var(--text-accent)}.oracle__header-actions{margin-left:auto;display:flex;gap:2px}.oracle__messages{flex:1 1 0%;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.oracle__messages>*{width:100%;max-width:var(--oracle-col);margin-inline:auto}.oracle__messages--empty{justify-content:center;align-items:center}.oracle__bubble-row{display:flex;width:100%}.oracle__bubble-row.oracle__bubble--user{justify-content:flex-end}.oracle__bubble-row.oracle__bubble--assistant{justify-content:flex-start}.oracle__bubble{width:fit-content!important;max-width:85%}.oracle__bubble .flex-panel-children{padding:10px 14px;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere}.oracle__bubble-row.oracle__bubble--user .oracle__bubble .flex-panel-content{background:var(--surface-selected)}.oracle__bubble--pending{opacity:.7}.oracle__drafts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:460px;flex:0 1 460px;align-self:flex-start}.oracle__draft .flex-panel-children{padding:14px 16px;box-sizing:border-box}.oracle__draft-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.oracle__draft-type{text-transform:capitalize;opacity:.85}.oracle__draft-actions{display:flex;gap:8px}.oracle__composer{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border-radius:14px;background:var(--field-bg);border:1px solid var(--border-subtle);transition:border-color .12s ease;box-sizing:border-box}.oracle__composer:focus-within{border-color:var(--border-focus)}.oracle__composer-field{flex:1 1 auto;min-width:0}.oracle__composer{--flex-textarea-bg: transparent;--flex-textarea-border: transparent;--flex-textarea-border-focus: transparent}.oracle__composer-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding-bottom:2px}.oracle__send{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;padding:0;border-radius:999px;border:1px solid var(--border-focus);background:var(--surface-selected);color:var(--text-accent);cursor:pointer;transition:border-color .12s ease,color .12s ease}.oracle__send:hover:not(:disabled){border-color:var(--border-strong)}.oracle__send:disabled{border-color:var(--border-subtle);background:none;color:var(--text-muted);cursor:default}.oracle__mic--rec,.oracle__mic--rec:hover{color:var(--oracle-reject)}.oracle__mic--rec{animation:oracle-mic-pulse 1.6s ease-in-out infinite}.oracle__mic:disabled{opacity:.5;cursor:default}.oracle__mic:disabled:hover{background:none;color:var(--text-secondary)}@keyframes oracle-mic-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.oracle__mic--rec{animation:none}}.oracle__mic-time{font-variant-numeric:tabular-nums;padding:0 2px;white-space:nowrap}.oracle__dictation-error{flex:0 0 auto;padding:6px 10px;border-radius:10px;background:var(--danger-bg);overflow-wrap:anywhere}@container oracle (max-width: 480px){.oracle__layout{padding:8px}.oracle__bubble{max-width:92%}}.oracle__tool-inline{flex:0 0 auto;padding-top:4px}.oracle__tool-sheet{padding:16px}.oracle__picker{display:flex;flex-direction:column;gap:10px}.oracle__picker-options{display:flex;flex-direction:column;gap:10px;max-height:calc(var(--vh, 1vh) * 40);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0}.oracle__picker-group{display:flex;flex-direction:column;gap:4px}.oracle__picker-group-label{text-transform:uppercase;letter-spacing:.06em;opacity:.55;padding:2px 4px;font-size:var(--font-caption)}.oracle__picker-option{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.oracle__picker-option:hover{border-color:var(--border-strong);background:var(--surface-hover)}.oracle__picker-foot{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.oracle__picker-option--new{font-style:italic;opacity:.85}.oracle__picker-new{display:flex;flex-direction:column;gap:8px}.oracle__launcher-wrap{flex:0 0 auto;padding-bottom:6px}.oracle__launcher .flex-panel-children{padding:10px 12px;box-sizing:border-box;min-height:0;display:flex;flex-direction:column}.oracle__launcher-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.oracle__launcher-close{background:none;border:none;cursor:pointer;font-size:var(--font-small);opacity:.7;padding:2px 6px;color:inherit}.oracle__launcher-list{display:flex;flex-direction:column;gap:4px;max-height:calc(var(--vh, 1vh) * 55);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0}.oracle__launcher-section+.oracle__launcher-section{margin-top:10px}.oracle__launcher-section-label{padding:4px 10px;text-transform:uppercase;letter-spacing:.06em;font-size:var(--font-caption);color:var(--text-muted)}.oracle__launcher-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;color:inherit;font:inherit}.oracle__launcher-item--active{border-color:var(--border-focus);background:var(--surface-selected)}.oracle__launcher-icon{width:20px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding-top:1px;color:var(--text-secondary)}.oracle__launcher-item--active .oracle__launcher-icon{color:var(--text-accent)}.oracle__launcher-text{display:flex;flex-direction:column;gap:2px;min-width:0}.oracle__launcher-hint{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.oracle__launcher-item mark{background:none;color:var(--text-accent);font-weight:600}.oracle__launcher-foot{padding:8px 10px 2px;border-top:1px solid var(--border-subtle);margin-top:8px}.oracle__drafts-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}.oracle__drafts-foot-actions{display:flex;gap:8px}.oracle__planform{display:flex;flex-direction:column;gap:10px}.oracle__planform-foot{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.oracle__plan{width:100%;max-width:520px}.oracle__plan .flex-panel-children{padding:14px 16px;box-sizing:border-box}.oracle__plan-head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.oracle__plan-areas{display:flex;flex-direction:column;gap:2px}.oracle__plan-area{border-radius:8px;overflow:hidden}.oracle__plan-area-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:8px 6px;cursor:pointer;border-radius:8px}.oracle__plan-area-row:hover{background:#0000000a}.oracle__plan-area-index{flex:0 0 auto;width:20px;text-align:right;opacity:.6;font-size:var(--font-small)}.oracle__plan-area-name{flex:1 1 auto;min-width:0}.oracle__plan-area-chev{flex:0 0 auto;opacity:.6;font-size:var(--font-small)}.oracle__plan-area-desc{padding:0 6px 10px 36px}.oracle__pri{flex:0 0 auto;font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;border:1px solid transparent;opacity:.9}.oracle__pri--high{color:#c0392b;border-color:#c0392b}.oracle__pri--medium{color:#b7791f;border-color:#b7791f}.oracle__pri--low{color:#2d7d46;border-color:#2d7d46}.oracle__plan-foot{margin-top:12px}.oracle__plan-area-qcount{flex:0 0 auto;font-size:var(--font-caption);opacity:.6;font-variant-numeric:tabular-nums}.oracle__pacing-presets{display:flex;gap:8px}.oracle__pacing-preset{flex:1 1 0;padding:10px 0;border-radius:10px;border:1px solid rgba(0,0,0,.15);background:#00000005;cursor:pointer;text-align:center}.oracle__pacing-preset--on{border-color:currentColor;background:#0000000f;font-weight:600}.oracle__plan-area-actions{margin-top:8px}.oracle__plan-build{padding:6px 12px;border-radius:8px;border:1px solid currentColor;background:#00000008;cursor:pointer;opacity:.9}.oracle__plan-build:hover{background:#00000012}.oracle__plan-build--done{border-color:#00000026;background:none}.oracle__breview{width:100%;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:14px;background:#0000000a}.oracle__breview-groups{display:flex;flex-direction:column;gap:8px}.oracle__bgroup{border:1px solid rgba(0,0,0,.12);border-radius:10px;overflow:hidden;background:#ffffff08}.oracle__bgroup-head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit;appearance:none}.oracle__bgroup-head>:nth-child(2){flex:1 1 auto;min-width:0}.oracle__bgroup-caret{flex:0 0 auto;opacity:.6;font-size:var(--font-caption)}.oracle__bgroup-count{flex:0 0 auto;margin-left:auto;opacity:.7;white-space:nowrap}.oracle__bgroup-empty{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 2px}.oracle__bgroup-items{display:flex;flex-direction:column;gap:6px;padding:4px 12px 12px}.oracle__bitem{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:8px;background:#00000008}.oracle__bitem-body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.oracle__bitem-actions{flex:0 0 auto;display:flex;gap:4px}.oracle__bitem-btn{width:28px;height:28px;border-radius:6px;border:1px solid rgba(0,0,0,.15);background:#ffffff0f;cursor:pointer;font-size:var(--font-caption)}.oracle__bitem-btn--del:hover{border-color:#c83c3c99}.oracle__bgroup-error{padding:4px 12px 12px}.oracle__breview-foot{display:flex;justify-content:flex-end}.oracle__confirm{display:flex;flex-direction:column;gap:12px}.oracle__confirm-actions{display:flex;gap:8px;justify-content:flex-end}.oracle__turnbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:10px;background:var(--surface-sunken)}.oracle__turnbar-btn{flex:0 0 auto;padding:4px 12px;border-radius:8px;border:1px solid var(--border-subtle);background:none;color:var(--text-primary);font:inherit;cursor:pointer}.oracle__turnbar-btn:hover{border-color:var(--border-strong);background:var(--action-ghost-hover)}.oracle__errorbar{flex:0 0 auto;padding:6px 10px;border-radius:10px;background:var(--danger-bg);overflow-wrap:anywhere}.oracle__sidebar .oracle__convlist,.oracle__sidebar .oracle__convlist .flex-panel-content,.oracle__sidebar .oracle__convlist .flex-panel-children{height:100%;min-height:0}.oracle__sidebar .oracle__convlist-items{max-height:none;flex:1 1 0}.oracle__convlist .flex-panel-children{padding:10px 12px;box-sizing:border-box;min-height:0;display:flex;flex-direction:column}.oracle__convlist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.oracle__convlist-head-actions{display:flex;align-items:center;gap:6px}.oracle__convlist-items{display:flex;flex-direction:column;gap:2px;max-height:calc(var(--vh, 1vh) * 55);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;min-height:0}.oracle__conv{display:flex;align-items:center;gap:4px;border-radius:8px;border:1px solid transparent;position:relative}.oracle__conv:hover{background:var(--surface-hover)}.oracle__conv--active{border-color:var(--border-focus)}.oracle__conv-open{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:none;padding:8px 10px;cursor:pointer;color:inherit;font:inherit}.oracle__conv-open>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oracle__conv-menu{position:relative;flex:0 0 auto;margin-right:4px}.oracle__conv-menu-pop{position:absolute;right:0;top:calc(100% + 2px);z-index:2;min-width:150px;display:flex;flex-direction:column;gap:2px;padding:4px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface-overlay);box-shadow:var(--shadow-overlay)}.oracle__conv-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;border-radius:6px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.oracle__conv-menu-item:hover,.oracle__conv-menu-item:focus-visible{background:var(--surface-hover);outline:none}.oracle__conv-menu-icon{width:18px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.oracle__conv-rename{flex:1 1 auto;min-width:0;margin:4px;padding:6px 8px;border-radius:6px;border:1px solid var(--border-focus);background:var(--field-bg);color:var(--text-primary);font:inherit;outline:none}.oracle__md{white-space:normal}.oracle__md>*:first-child{margin-top:0}.oracle__md>*:last-child{margin-bottom:0}.oracle__md-p{display:block;margin:0 0 8px}.oracle__md-h{display:block;font-weight:600;margin:12px 0 4px}.oracle__md-list{margin:0 0 8px;padding-left:20px}.oracle__md-list li{margin:2px 0}.oracle__md-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;padding:1px 4px;border-radius:4px;background:var(--surface-sunken)}.oracle__md-pre{margin:0 0 8px;padding:10px 12px;border-radius:8px;background:var(--surface-sunken);white-space:pre;overflow-x:auto}.oracle__md-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.oracle__rate{display:flex;align-items:center;justify-content:flex-end;gap:2px;min-height:28px;padding-right:4px}.oracle__empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 8px;max-width:460px;text-align:center}.oracle__empty-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.oracle__chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border-subtle);background:none;color:inherit;font:inherit;cursor:pointer}.oracle__chip:hover{border-color:var(--border-strong);background:var(--surface-hover)}.mss__backdrop{opacity:0;pointer-events:none;transition:opacity .3s ease;position:fixed;inset:0;z-index:49;background:#0006}.mss__backdrop--visible{opacity:1;pointer-events:all}.mss__sheet{position:fixed;left:0;right:0;bottom:0;max-height:calc(var(--vh, 1vh) * 85);display:flex;flex-direction:column;background:var(--tutor_sidebar_bg, #fff);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #0000001f;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:50;overflow:hidden}.mss__sheet--open{transform:translateY(0)}.mss__handle{width:36px;height:4px;border-radius:2px;background:#00000026;margin:10px auto 0;flex-shrink:0}.mss__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 8px;flex-shrink:0;border-bottom:.5px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .08))}.mss__title{font-size:var(--font-body);font-weight:700;color:var(--tutor_sidebar_text_primary, #111)}.mss__close{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .06));border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:var(--font-small);color:var(--tutor_sidebar_text_secondary, #6b7280);display:flex;align-items:center;justify-content:center;line-height:1}.mss__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mss__invite-banner{display:flex;align-items:center;gap:10px;margin:10px 12px 4px;padding:10px 14px;background:#fef3c7;border-radius:10px}.mss__invite-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;flex-shrink:0}.mss__invite-text{font-size:var(--font-small);color:#92400e}.mss__section-label{display:block;font-size:var(--font-caption);font-weight:700;color:var(--tutor_sidebar_text_secondary, #6b7280);text-transform:uppercase;letter-spacing:.07em;padding:12px 16px 4px}.mss__group-row{display:flex;align-items:center;gap:12px;padding:10px 16px;width:100%;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s;-webkit-tap-highlight-color:transparent}.mss__group-row:active{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .05))}.mss__group-avatar{width:36px;height:36px;border-radius:10px;background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .06));display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--tutor_sidebar_text_secondary, #6b7280)}.mss__group-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mss__group-name{font-size:var(--font-small);font-weight:600;color:var(--tutor_sidebar_text_primary, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mss__group-sub{font-size:var(--font-caption);color:var(--tutor_sidebar_text_secondary, #6b7280)}.mss__chevron{font-size:var(--font-body);color:var(--tutor_sidebar_text_secondary, #6b7280);transition:transform .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.mss__chevron--open{transform:rotate(90deg)}.mss__members{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .03))}.mss__member-row{display:flex;align-items:center;gap:12px;padding:9px 16px 9px 28px;width:100%;background:none;border:none;border-top:.5px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .06));cursor:pointer;text-align:left;transition:background .1s;-webkit-tap-highlight-color:transparent}.mss__member-row:first-child{border-top:none}.mss__member-row:active{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .06))}.mss__members-empty{padding:10px 16px 10px 28px;font-size:var(--font-small);color:var(--tutor_sidebar_text_secondary, #6b7280)}.mss__avatar{width:30px;height:30px;border-radius:50%;background:var(--tutor_sidebar_selected_bg, #6366f1);color:var(--tutor_sidebar_selected_text, #fff);display:flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:700;flex-shrink:0}.mss__avatar--solo{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .06));color:var(--tutor_sidebar_text_secondary, #6b7280);border:.5px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .1))}.mss__member-name{flex:1;font-size:var(--font-small);color:var(--tutor_sidebar_text_primary, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.mss__member-chevron{font-size:var(--font-small);color:var(--tutor_sidebar_text_secondary, #9ca3af);flex-shrink:0}.mss__solo-row{display:flex;align-items:center;gap:12px;padding:10px 16px;width:100%;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s;-webkit-tap-highlight-color:transparent}.mss__solo-row:active{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .05))}.mss__divider{height:.5px;background:var(--tutor_sidebar_border, rgba(0, 0, 0, .08));margin:6px 0}.mss__empty{padding:40px 16px;text-align:center;font-size:var(--font-small);color:var(--tutor_sidebar_text_secondary, #6b7280)}.mss__footer{flex-shrink:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:.5px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .08));background:var(--tutor_sidebar_bg, #fff)}.mss__new-group-btn{width:100%;padding:11px 16px;border-radius:10px;border:1px dashed var(--tutor_sidebar_border, rgba(0, 0, 0, .15));background:none;color:var(--tutor_sidebar_text_secondary, #6b7280);font-size:var(--font-small);font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;-webkit-tap-highlight-color:transparent}.mss__new-group-btn:active{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .05));border-color:var(--tutor_sidebar_selected_bg, #6366f1);color:var(--tutor_sidebar_selected_bg, #6366f1)}.mcl__root{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface-raised)}.mcl__search-wrap{padding:12px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.mcl__search{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--field-bg)}.mcl__search-input{flex:1;background:none;border:none;outline:none;min-width:0;line-height:1.4;font-family:inherit}.mcl__search-input::placeholder{opacity:.45}.mcl__tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:0 8px}.mcl__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 4px 11px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:600;margin-bottom:-1px;transition:color .15s,border-color .15s}.mcl__tab-badge{min-width:18px;height:18px;border-radius:9px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:700;background:var(--danger);color:var(--text-inverse);box-sizing:border-box}.mcl__scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mcl__empty{text-align:center;padding:48px 24px;font-size:var(--font-body);opacity:.6}.mcl__item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;transition:background .12s;-webkit-tap-highlight-color:transparent}.mcl__item:active{background:var(--surface-hover)}.mcl__avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;flex-shrink:0;position:relative}.mcl__avatar-img{width:100%;height:100%;object-fit:cover}.mcl__online-dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:var(--success);border:2px solid var(--surface-raised);box-sizing:content-box}.mcl__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mcl__name-row,.mcl__preview-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.mcl__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcl__time{flex-shrink:0}.mcl__preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcl__badge{flex-shrink:0;min-width:20px;height:20px;border-radius:10px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-weight:700;background:var(--danger);color:var(--text-inverse);box-sizing:border-box}.mcl__footer{flex-shrink:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle)}.mcl__new-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-weight:600;font-family:inherit;padding:4px 0;transition:opacity .15s;-webkit-tap-highlight-color:transparent}.mcl__new-btn:active{opacity:.7}.mcl__footer--split{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.mcl__footer--split .mcl__new-btn{flex:1;justify-content:center;padding:10px 6px;border-radius:10px;transition:background .15s,opacity .15s;white-space:nowrap;min-width:0;-webkit-tap-highlight-color:transparent}.mcl__footer--split .mcl__new-btn:active{background:var(--surface-hover);opacity:1}.mcl__footer-divider{width:1px;height:22px;flex-shrink:0;background:var(--border-subtle)}.mcl__group-pill{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface-raised);background:var(--surface-raised);box-sizing:content-box;flex-shrink:0;z-index:1}.mcl__avatar{overflow:visible}.mcl__avatar-img{border-radius:50%}.tutor-dashboard{flex:1;min-height:0;min-width:0}.tutor-dashboard--desktop{--sdb-rail-w: 48px;--sdb-expanded-w: 240px;display:flex;align-items:stretch;gap:5px;height:100%;min-height:0;padding:5px 0;box-sizing:border-box}@media(max-width:1023px)and (min-width:768px){.tutor-dashboard--desktop{--sdb-expanded-w: 200px}}.tutor-dashboard__sidebar-rail{position:relative;flex:0 0 var(--sdb-rail-w);align-self:stretch;height:100%;min-height:0;overflow:visible;z-index:50}.tutor-dashboard__sidebar{width:var(--sdb-rail-w);display:flex;flex-direction:column;min-height:0;transition:width .18s ease,box-shadow .18s ease}.tutor-dashboard__sidebar-rail:hover .tutor-dashboard__sidebar,.tutor-dashboard__sidebar:has(:focus-visible){width:var(--sdb-expanded-w);box-shadow:6px 0 22px #00000038}.tutor-dashboard__sidebar .flex-panel-children{width:var(--sdb-expanded-w);flex:1 1 auto;min-height:0}.tutor-dashboard__title{opacity:0;transition:opacity .18s ease}.tutor-dashboard__sidebar-rail:hover .tutor-dashboard__title,.tutor-dashboard__sidebar:has(:focus-visible) .tutor-dashboard__title{opacity:1}.tutor-dashboard__sidebar-rail:not(:hover) .tutor-dashboard__sidebar:not(:has(:focus-visible)) :where(.sidebar>*:not(.sidebar__nav)){opacity:0;pointer-events:none;transition:opacity .12s ease}.tutor-dashboard__sidebar-rail:hover :where(.sidebar>*:not(.sidebar__nav)),.tutor-dashboard__sidebar:has(:focus-visible) :where(.sidebar>*:not(.sidebar__nav)){opacity:1;transition:opacity .18s ease .04s}.tutor-dashboard__sidebar-rail:not(:hover) .tutor-dashboard__sidebar:not(:has(:focus-visible)) .sidebar__nav-link-label{opacity:0;transition:opacity .12s ease}.tutor-dashboard__sidebar-rail:hover .sidebar__nav-link-label,.tutor-dashboard__sidebar:has(:focus-visible) .sidebar__nav-link-label{opacity:1;transition:opacity .18s ease .04s}.tutor-dashboard--mobile{height:100%}.tutor-dashboard__sidebar-header{display:flex;align-items:center;gap:8px;padding:14px 12px 10px;flex-shrink:0}.tutor-dashboard__logo{font-size:var(--font-h3)}.tutor-dashboard__title{font-size:var(--font-small);font-weight:700;flex:1}.tutor-dashboard__count{font-size:var(--font-caption);opacity:.5}.tutor-dashboard__content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.tutor-dashboard__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;opacity:.4}.tutor-dashboard__empty-icon{font-size:36px}.tutor-dashboard__empty-text{font-size:var(--font-small);text-align:center}.tutor-dashboard__create-list-btn{margin-top:8px;padding:8px 20px;border-radius:8px;border:none;cursor:pointer;font-size:var(--font-small);font-weight:600;background:var(--tutor_sidebar_selected_bg, #6366f1);color:var(--tutor_sidebar_selected_text, #fff);transition:opacity .15s}.tutor-dashboard__create-list-btn:hover{opacity:.85}.tutor-dashboard--mobile{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.tutor-dashboard--mobile .flex-panel-content{border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important;border-width:0px!important;border-radius:0!important}.tutor-mobile__content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.tutor-mobile__bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-shrink:0;border-top:1px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .08));background:var(--tutor_sidebar_bg, #fff);padding-bottom:env(safe-area-inset-bottom,0px)}.tutor-mobile__bar-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 0 8px;background:none;border:none;cursor:pointer;position:relative;color:var(--tutor_sidebar_text_secondary, #6b7280);transition:color .15s}.tutor-mobile__bar-btn:focus{outline:none}.tutor-mobile__bar-btn--active{color:var(--tutor_sidebar_selected_text, #6366f1)}.tutor-mobile__bar-icon{font-size:var(--font-h2);line-height:1}.tutor-mobile__bar-label{font-size:var(--font-caption);font-weight:600;letter-spacing:.02em;color:var(--tutor_sidebar_text_primary)}.tutor-mobile__bar-badge{position:absolute;top:8px;right:calc(50% - 18px);background:#ef4444;color:#fff;font-size:var(--font-caption);font-weight:700;border-radius:999px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0 3px}.tutor-mobile__more-wrap{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.tutor-mobile__more-bubble{position:absolute;bottom:calc(100% + 10px);right:0;width:228px;background:var(--tutor_sidebar_bg, #fff);border:1px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .08));border-radius:18px;padding:8px;display:flex;flex-direction:column;gap:6px;transform-origin:bottom right;animation:more-pop .18s cubic-bezier(.16,1,.3,1);z-index:40;box-shadow:0 8px 28px #00000021}@keyframes more-pop{0%{opacity:0;transform:scale(.88) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.tutor-mobile__more-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--tutor_sidebar_border, rgba(0, 0, 0, .07));border-radius:12px;background:transparent;cursor:pointer;text-align:left;transition:background .12s,border-color .12s;-webkit-tap-highlight-color:transparent}.tutor-mobile__more-item:active{background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .05));border-color:var(--tutor_sidebar_border, rgba(0, 0, 0, .12))}.tutor-mobile__more-item-icon-wrap{width:38px;height:38px;border-radius:9px;background:var(--tutor_sidebar_hover_bg, rgba(0, 0, 0, .05));display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-h3);line-height:1}.tutor-mobile__more-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tutor-mobile__more-item-label{font-size:var(--font-small);font-weight:600;color:var(--tutor_sidebar_text_primary, #111);line-height:1.2}.tutor-mobile__more-item-sub{font-size:var(--font-caption);color:var(--tutor_sidebar_text_secondary, #6b7280);line-height:1.2}.tutor-mobile__more-item-badge{background:#ef4444;color:#fff;font-size:var(--font-caption);font-weight:700;border-radius:999px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0}.tutor-mobile__sheet{position:fixed;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 58px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px));min-height:calc(var(--vh, 1vh) * 40);display:flex;flex-direction:column;background:var(--tutor_sidebar_bg, #fff);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #0000001f;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}.tutor-mobile__sheet--open{transform:translateY(0)}.tutor-mobile__sheet-handle{width:36px;height:4px;border-radius:2px;background:#00000026;margin:10px auto 0;flex-shrink:0}.tutor-mobile__sheet-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 8px;flex-shrink:0}.tutor-mobile__sheet-title{font-size:var(--font-body);font-weight:700;color:var(--tutor_sidebar_text_primary, #111)}.tutor-mobile__sheet-close{background:none;border:none;cursor:pointer;font-size:var(--font-body);color:var(--tutor_sidebar_text_secondary, #6b7280);padding:4px 6px;border-radius:6px;line-height:1}.tutor-mobile__sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.tutor-list-index{display:flex;flex-direction:column;height:100%;padding:24px;gap:16px;overflow-y:auto;box-sizing:border-box}.tutor-list-index__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.tutor-list-index__title{font-size:var(--font-body);font-weight:700;color:var(--tutor_list_editor_toolbar_name_text, inherit)}.tutor-list-index__loading,.tutor-list-index__empty{font-size:var(--font-small);opacity:.45;padding:24px 0;text-align:center}.tutor-list-index__rows{display:flex;flex-direction:column;gap:6px}.tutor-list-index__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid var(--tutor_list_editor_border);background:var(--tutor_list_editor_bg);cursor:pointer;text-align:left;transition:border-color .12s,background .12s;width:100%}.tutor-list-index__row:hover{border-color:var(--tutor_question_row_border_expanded);background:var(--tutor_question_row_bg_hover)}.tutor-list-index__row-left{display:flex;flex-direction:column;gap:2px;min-width:0}.tutor-list-index__row-name{font-size:var(--font-small);font-weight:600;color:var(--tutor_list_editor_toolbar_name_text, inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-list-index__row-desc{font-size:var(--font-caption);opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-list-index__row-status{font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;flex-shrink:0}.tutor-list-index__row-status--draft{background:var(--tutor_list_editor_status_draft_bg);color:var(--tutor_list_editor_status_draft_text)}.tutor-list-index__row-status--published{background:var(--tutor_list_editor_status_published_bg);color:var(--tutor_list_editor_status_published_text)}.tutor-dashboard__loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-small);opacity:.45}.tutor-home{container-type:inline-size;container-name:workspace}.tutor-home__sidebar{width:280px;flex-shrink:0;transition:width .2s ease;border-right:1px solid var(--border-subtle);overflow-y:auto}.tutor-home__content{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column}@container workspace (max-width: 767px){.tutor-home__sidebar{width:0;overflow:hidden;border-right:none}}.tutor-dashboard__with-breadcrumb{display:flex;flex-direction:column;height:100%;min-height:0}.tutor-dashboard__breadcrumb-bar{display:flex;align-items:center;gap:2px;padding:8px 16px;flex-shrink:0;border-bottom:1px solid var(--tutor_list_editor_border);background:var(--tutor_workspace_header_bg)}.tutor-dashboard__with-breadcrumb>.tutor-home,.tutor-dashboard__with-breadcrumb>.list-editor-root{flex:1;min-height:0}.tutor-dashboard__breadcrumb-seg{display:flex;align-items:center;gap:4px}.tutor-dashboard__breadcrumb-sep{font-size:var(--font-caption);color:var(--tutor_workspace_header_breadcrumb_sep_color)}.tutor-dashboard__breadcrumb-btn{background:none;border:none;cursor:pointer;font-size:var(--font-caption);font-weight:500;color:var(--tutor_workspace_header_btn_share_text);padding:2px 4px;border-radius:4px;transition:background .1s}.tutor-dashboard__breadcrumb-btn:hover{background:var(--tutor_folder_row_bg_hover)}.tutor-dashboard__breadcrumb-current{font-size:var(--font-caption);font-weight:600;color:var(--tutor_workspace_header_title_text);padding:2px 4px}.tutor-dashboard__nav-links{display:flex;flex-direction:column;gap:2px;padding:0 8px 8px;flex-shrink:0;border-bottom:1px solid var(--tutor_list_editor_border);margin-bottom:4px}.tutor-dashboard__nav-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;border:none;background:none;cursor:pointer;font-size:var(--font-small);font-weight:500;color:var(--tutor_folder_row_text);width:100%;text-align:left;transition:background .1s}.tutor-dashboard__nav-link:hover{background:var(--tutor_folder_row_bg_hover)}.tutor-dashboard__nav-link:focus{outline:none}.tutor-dashboard__nav-link--active{background:var(--tutor_folder_row_bg_selected);font-weight:600}.tutor-dashboard__nav-link-icon{font-size:var(--font-small)}.tutor-dashboard__sidebar-footer{padding:8px 10px 10px;flex-shrink:0;border-top:1px solid var(--tutor_list_editor_border);margin-top:auto}.tutor-dashboard__new-group-btn{width:100%;padding:8px 12px;border-radius:8px;border:1px dashed var(--tutor_stat_card_border);background:none;color:var(--tutor_stat_card_label_text);font-size:var(--font-caption);font-weight:600;cursor:pointer;transition:background .1s,border-color .1s,color .1s;text-align:center}.tutor-dashboard__new-group-btn:hover{background:var(--tutor_folder_row_bg_hover);border-color:var(--tutor_folder_row_border_selected);color:var(--tutor_folder_row_text)}.notification-bell,.notification-bell__btn{position:relative}.notification-bell__badge{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;border-radius:999px;background:var(--danger);color:var(--text-inverse);font-size:var(--font-caption);font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none;box-shadow:0 0 0 2px var(--surface-raised)}.notification-bell__dropdown{width:360px;z-index:10000;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-overlay);animation:notif-dropdown-in .15s ease}@keyframes notif-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-bell__content{padding:4px 0}.notification-bell__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px}.notification-bell__count-label{font-size:var(--font-caption);font-weight:600;color:var(--danger);background:var(--danger-bg);padding:2px 8px;border-radius:10px}.notification-bell__empty{padding:32px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.notification-bell__empty-icon{display:inline-flex;color:var(--text-muted)}.notification-bell__list{max-height:380px;overflow-y:auto}.notification-item{display:flex;gap:12px;padding:12px 16px;border-top:1px solid var(--border-subtle);transition:background .1s ease}.notification-item:first-child{border-top:none}.notification-item:hover{background:var(--surface-hover)}.notification-item--unread{background:var(--surface-sunken)}.notification-item--unread:hover{background:var(--surface-hover)}.notification-item__icon{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;margin-top:2px}.notification-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.notification-item__text{display:flex;flex-direction:column;gap:2px}.notification-item__dismiss{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin-left:4px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);line-height:1;cursor:pointer;transition:color .12s ease,background .12s ease}.notification-item__dismiss:hover{color:var(--text-primary);background:var(--surface-hover)}.notification-item--clickable{cursor:pointer}.notification-item--clickable:hover{background:var(--surface-hover)}.notification-item__digest{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding-left:2px}.notification-item__digest-task{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item__digest-more{font-size:var(--font-caption);color:var(--text-secondary);opacity:.6;font-style:italic}.notification-item__actions{display:flex;gap:8px}.notification-item__btn{padding:5px 14px;border-radius:6px;font-size:var(--font-caption);font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .12s ease;border:1px solid transparent}.notification-item__btn:disabled{opacity:.5;cursor:not-allowed}.notification-item__btn:not(:disabled):hover{opacity:.85}.notification-item__btn--accept{background:var(--action-bg);color:var(--action-text);border-color:transparent}.notification-item__btn--decline{background:none;color:var(--text-secondary);border-color:var(--border-subtle)}.notification-item__btn--decline:hover{background:var(--surface-hover)}.notification-item__resolved{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.notification-item__footer{display:flex;align-items:center;gap:8px}.notification-item__time{font-size:var(--font-caption);color:var(--text-secondary);opacity:.7}.notification-item__mark-read{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;background:none;border:none;color:var(--text-accent);cursor:pointer;padding:0;transition:color .12s ease}.notification-item__mark-read:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.notification-item__mark-read:hover{color:var(--text-primary)}@media(max-width:640px){.notification-bell__dropdown{width:calc(100vw - 24px);left:12px;right:auto}}.quickask{display:inline-flex;align-items:center}.quickask__pop{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-overlay);animation:quickask-in .15s ease}@keyframes quickask-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.quickask__body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px}.quickask__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.quickask__timer{font-variant-numeric:tabular-nums;white-space:nowrap}.quickask__modes{display:flex;gap:10px}.quickask__mode{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;border-radius:10px;border:1px solid var(--border-subtle);background:none;color:var(--text-secondary);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.quickask__mode:hover{border-color:var(--border-focus);background:var(--surface-hover);color:var(--text-accent)}.quickask__mode-label{font-size:var(--font-caption);font-weight:600}.quickask__listen{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 2px}.quickask__orb{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-sunken);color:var(--text-secondary);cursor:pointer;transition:color .12s ease,border-color .12s ease}.quickask__orb:disabled{cursor:default}.quickask__orb--rec{color:var(--danger);border-color:var(--danger);animation:quickask-pulse 1.6s ease-in-out infinite}@keyframes quickask-pulse{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.quickask__pop,.quickask__orb--rec{animation:none}}.quickask__field{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-primary);font:inherit;font-size:var(--font-small);outline:none;transition:border-color .12s ease}.quickask__field::placeholder{color:var(--field-placeholder)}.quickask__field:focus{border-color:var(--border-focus)}.quickask__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.quickask__link{padding:4px 2px;border:none;border-radius:6px;background:none;color:var(--text-secondary);font:inherit;font-size:var(--font-caption);cursor:pointer;transition:color .12s ease}.quickask__link:hover{color:var(--text-primary)}.quickask__send{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;padding:0;border-radius:999px;border:1px solid var(--border-focus);background:var(--surface-selected);color:var(--text-accent);cursor:pointer;transition:border-color .12s ease,color .12s ease}.quickask__send:hover:not(:disabled){border-color:var(--border-strong)}.quickask__send:disabled{border-color:var(--border-subtle);background:none;color:var(--text-muted);cursor:default}.quickask__notice{padding:8px 10px;border-radius:8px;background:var(--danger-bg);overflow-wrap:anywhere}.theme-popup-backdrop{position:fixed;inset:0;z-index:998}.theme-switcher-popup{position:fixed;z-index:999;display:flex;flex-direction:column;gap:2px;width:200px;max-height:70vh;overflow-y:auto;padding:6px;border-radius:var(--radius-md);background:var(--surface-overlay);border:1px solid var(--border-subtle);box-shadow:var(--shadow-overlay)}.theme-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-row:hover{background:var(--surface-hover);color:var(--text-primary)}.theme-row.selected{background:var(--surface-selected);border-color:var(--border-focus);color:var(--text-primary)}.theme-row__swatch{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid;flex-shrink:0;box-shadow:var(--shadow-card)}.theme-row__dot{width:8px;height:8px;border-radius:50%}.theme-row__label{flex:1;font-size:.875rem;font-weight:500}.theme-row__check{color:var(--text-accent);font-weight:700;font-size:.9rem}.greeting-line{padding:0 4px}.greeting-line__text{letter-spacing:-.02em}@media(max-width:599px){.greeting-line__text{font-size:18px!important}}.event-card{position:relative;overflow:hidden;display:flex;width:100%}.event-card__body{flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.event-card__accent{position:absolute;top:0;left:0;bottom:0;width:4px;flex-shrink:0}.event-card--continue .event-card__accent{width:6px}.event-card--large .event-card__body{padding:20px 24px;min-height:140px;gap:14px}.event-card--medium .event-card__body{padding:16px 18px;min-height:120px;gap:12px}.event-card--compact .event-card__body{padding:12px 14px 12px 18px;min-height:72px}.event-card__top{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.event-card__heading{display:flex;align-items:baseline;gap:10px;justify-content:space-between;flex-wrap:wrap}.event-card__title{letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.event-card__time{flex-shrink:0;opacity:.7;font-variant-numeric:tabular-nums}.event-card__time--inline{margin-left:4px}.event-card__summary{margin-top:2px;font-weight:500}.event-card__summary--compact{font-weight:400;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card__progress{margin-top:2px;opacity:.65;font-variant-numeric:tabular-nums}.event-card__cta-row{display:flex;justify-content:flex-start}.event-card--large .event-card__cta-row{justify-content:flex-end}.event-card__compact-row{display:flex;align-items:center;gap:16px;width:100%}.event-card__compact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.event-card__compact-line{display:flex;align-items:baseline;gap:10px;min-width:0}.event-card__compact-line .event-card__title{flex:1}@media(max-width:599px){.event-card--large .event-card__body{padding:16px 18px;min-height:120px;gap:10px}.event-card--medium .event-card__body{padding:14px 16px;min-height:100px}.event-card--large .event-card__cta-row{justify-content:stretch}.event-card--large .event-card__cta-row>*{flex:1}.event-card--compact .event-card__compact-row{gap:12px}}.hero-zone{display:flex;flex-direction:column;gap:12px;width:100%}.hero-zone--loading{min-height:140px}.hero-zone__skeleton{width:100%;height:140px;border-radius:12px;background:linear-gradient(90deg,var(--studenthome_hover_bg, rgba(0, 0, 0, .04)) 0%,var(--studenthome_divider, rgba(0, 0, 0, .08)) 50%,var(--studenthome_hover_bg, rgba(0, 0, 0, .04)) 100%);background-size:200% 100%;animation:hero-zone-shimmer 1.4s infinite}@keyframes hero-zone-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hero-zone__cards{display:flex;width:100%}.hero-zone__cards--large{flex-direction:column}.hero-zone__cards--medium{flex-direction:row;gap:12px}.hero-zone__cards--medium>*{flex:1;min-width:0}.hero-zone__cards--compact{flex-direction:column;gap:8px}.hero-zone__expand-btn,.hero-zone__collapse-btn{align-self:flex-start;background:none;border:1px dashed var(--studenthome_divider, rgba(0, 0, 0, .15));border-radius:8px;padding:8px 14px;font-size:var(--font-caption);font-weight:600;color:var(--studenthome_text_secondary, inherit);cursor:pointer;outline:none;opacity:.75;transition:opacity .12s,background .12s,border-color .12s,border-style .12s}.hero-zone__expand-btn:hover,.hero-zone__collapse-btn:hover{opacity:1;border-style:solid;border-color:var(--studenthome_accent, #7c6af7);background:var(--studenthome_hover_bg, rgba(0, 0, 0, .04))}.hero-zone__expand-btn:focus-visible,.hero-zone__collapse-btn:focus-visible{outline:2px solid var(--studenthome_accent, #7c6af7);outline-offset:2px}.hero-zone__collapse-btn{margin-top:4px}.hero-zone__expansion{display:flex;flex-direction:column;gap:14px;margin-top:4px;animation:hero-zone-expand .18s ease}@keyframes hero-zone-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hero-zone__expansion-section{display:flex;flex-direction:column;gap:6px}.hero-zone__expansion-label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55;padding:0 4px 2px}@media(max-width:599px){.hero-zone__cards--medium{flex-direction:column;gap:8px}.hero-zone__cards--medium>*{flex:none}}.progress-focus{display:flex;flex-direction:column;gap:14px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-left-width:3px;border-radius:12px;padding:16px 20px}.progress-focus--positive{border-left-color:var(--success)}.progress-focus--warning{border-left-color:var(--warning)}.progress-focus--negative{border-left-color:var(--danger)}.progress-focus--neutral{border-left-color:var(--text-accent)}.progress-focus__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.progress-focus__lead{display:flex;align-items:flex-start;gap:11px;min-width:0}.progress-focus__dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:6px}.progress-focus__dot--positive{background:var(--success)}.progress-focus__dot--warning{background:var(--warning)}.progress-focus__dot--negative{background:var(--danger)}.progress-focus__dot--neutral{background:var(--text-accent)}.progress-focus__title{font-weight:600}.progress-focus__line{margin-top:2px}.progress-focus__streak{flex-shrink:0;padding:4px 10px;border-radius:999px;background:var(--warning-bg);white-space:nowrap}.progress-focus__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.progress-focus__cta{display:inline-flex;align-items:center;gap:5px;background:var(--action-bg);border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font:inherit;color:var(--action-text);outline:none;transition:background .12s}.progress-focus__cta:hover{background:var(--action-bg-hover)}.progress-focus__cta:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.progress-focus__toggle{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font:inherit;color:var(--text-secondary);padding:6px 0;outline:none}.progress-focus__toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:4px}.progress-focus__lists{margin-top:4px;opacity:.75}.progress-focus__signals{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;border-top:1px solid var(--border-subtle);padding-top:14px}.progress-focus__signal{display:flex;align-items:flex-start;gap:10px;background:var(--surface-hover);border:1px solid transparent;border-radius:10px;padding:10px 13px;cursor:pointer;text-align:left;font:inherit;color:inherit;outline:none;transition:border-color .12s,background .12s}.progress-focus__signal:hover{border-color:var(--border-strong)}.progress-focus__signal:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.progress-focus__signal:disabled{cursor:default;opacity:.6}.progress-focus__signal-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.progress-focus__signal-lists{opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-focus__signal-num{font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.progress-focus__signal-num--positive{color:var(--success)}.progress-focus__signal-num--warning{color:var(--warning)}.progress-focus__signal-num--negative{color:var(--danger)}.progress-focus__signal-num--neutral{color:var(--text-primary)}.progress-focus__signal-label{flex:1;min-width:0}.progress-focus__signal-cta{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;color:var(--text-accent)}@media(max-width:599px){.progress-focus{padding:14px 16px}.progress-focus__head{flex-direction:column;gap:10px}.progress-focus__streak{align-self:flex-start}}.context-zone{display:flex;flex-direction:column;gap:18px;min-width:0;width:100%;container-type:inline-size;container-name:contextzone}.context-strip{display:flex;flex-direction:column;gap:8px;min-width:0}.context-strip__label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55;padding:0 4px}.context-strip__cards{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.context-group{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:10px;padding:10px 14px;cursor:pointer;outline:none;transition:background .12s,border-color .12s;flex:0 1 auto;min-width:0;max-width:100%}.context-group:hover{background:var(--surface-hover);border-color:var(--border-strong)}.context-group:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.context-group__icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.context-group__name{font-size:var(--font-small);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.context-group__meta{font-size:var(--font-caption);color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.context-strip__more{align-self:flex-start;margin-top:2px;background:none;border:1px dashed var(--border-subtle);border-radius:8px;padding:6px 12px;cursor:pointer;outline:none;color:var(--text-secondary);transition:opacity .12s,border-color .12s,background .12s}.context-strip__more:hover{border-color:var(--border-strong);background:var(--surface-hover)}.context-strip__more:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.context-invite{display:flex;flex-direction:column;gap:6px;background:var(--surface-sunken);border:1px dashed var(--border-strong);border-radius:10px;padding:10px 14px;flex:0 1 auto;min-width:200px;max-width:100%}@container contextzone (min-width: 600px){.context-invite--mobile-only{display:none}}.context-invite__title{font-weight:500}.context-invite__actions{display:flex;gap:6px}.context-invite__btn{flex:1;background:none;border:1px solid var(--border-subtle);border-radius:6px;padding:5px 10px;font-size:var(--font-caption);font-weight:600;cursor:pointer;outline:none;transition:background .12s,border-color .12s,color .12s}.context-invite__btn--accept{border-color:var(--action-bg);color:var(--action-bg)}.context-invite__btn--accept:hover{background:var(--action-bg);color:var(--action-text)}.context-invite__btn--decline{color:var(--text-secondary)}.context-invite__btn--decline:hover{background:var(--surface-hover)}.context-invite__btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.context-activity-list{display:flex;flex-direction:column;gap:4px}.context-activity-row{display:flex;align-items:center;gap:10px;padding:6px 4px;font-size:var(--font-caption);color:var(--text-primary)}.context-activity-row__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;color:var(--text-secondary)}.context-activity-row__text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-activity-row__time{flex-shrink:0;opacity:.55;font-size:var(--font-caption);font-variant-numeric:tabular-nums}.student-home{width:100%;height:100%;overflow-y:auto;display:flex;justify-content:center}.student-home__inner{width:100%;max-width:720px;padding:28px 24px 80px;display:flex;min-width:0;flex-direction:column;gap:24px}@media(max-width:599px){.student-home__inner{padding:18px 14px 80px;gap:18px}}@keyframes home-zone-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.home-zone-fade{animation:home-zone-fade-in .92s ease both}.progress-list{display:flex;flex-direction:column;gap:18px;width:100%;min-width:0}.progress-list__rollup{display:flex;flex-direction:column;gap:12px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px;padding:18px 20px}.progress-list__rollup-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.progress-list__rollup-label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55}.progress-list__rollup-percent{font-weight:600;font-variant-numeric:tabular-nums}.progress-list__rollup-meta{font-variant-numeric:tabular-nums}.progress-list__solidity{display:flex;gap:6px;flex-wrap:wrap}.progress-list__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px}.progress-list__chip-count{font-weight:700;font-variant-numeric:tabular-nums}.progress-list__chip-label{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.progress-list__chip--positive{background:var(--success-bg)}.progress-list__chip--positive .progress-list__chip-count{color:var(--success)}.progress-list__chip--warning{background:var(--warning-bg)}.progress-list__chip--warning .progress-list__chip-count{color:var(--warning)}.progress-list__chip--negative{background:var(--danger-bg)}.progress-list__chip--negative .progress-list__chip-count{color:var(--danger)}.progress-list__chip--neutral{background:var(--surface-hover)}.progress-list__controls{display:flex;gap:6px;align-items:center}.progress-list__seg{background:none;border:1px solid var(--border-subtle);border-radius:8px;padding:5px 12px;cursor:pointer;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s}.progress-list__seg:hover{background:var(--surface-hover)}.progress-list__seg:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.progress-list__seg--on{background:var(--surface-raised);border-color:var(--border-focus)}.progress-list__jump{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;position:sticky;top:0;z-index:2;background:var(--surface)}.progress-list__jump-chip{white-space:nowrap;flex-shrink:0;background:none;border:1px solid var(--border-subtle);border-radius:999px;padding:5px 11px;cursor:pointer;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s}.progress-list__jump-chip:hover{background:var(--surface-hover);border-color:var(--border-focus)}.progress-list__jump-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.progress-list__sections{display:flex;flex-direction:column;gap:8px}.progress-list__section{border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-raised);overflow:hidden}.progress-list__section-head{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left;outline:none;transition:background .12s}.progress-list__section-head:hover{background:var(--surface-hover)}.progress-list__section-head:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.progress-list__section-chevron{display:flex;align-items:center;justify-content:center;width:16px;flex-shrink:0;color:var(--text-muted)}.progress-list__section-title{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-list__section-meta{flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.progress-list__section-struggling{color:var(--warning)}.progress-list__section-bar{flex-shrink:0;width:110px}.progress-list__section-items{display:flex;flex-direction:column;gap:4px;padding:0 10px 10px}.progress-list__section-items--flat{padding:0}.progress-list__item{display:flex;align-items:flex-start;gap:11px;width:100%;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;padding:11px 13px;cursor:pointer;text-align:left;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s}.progress-list__item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.progress-list__item:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.progress-list__item-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;margin-top:1px}.progress-list__item-icon--positive{background:var(--success-bg);color:var(--success)}.progress-list__item-icon--warning{background:var(--warning-bg);color:var(--warning)}.progress-list__item-icon--negative{background:var(--danger-bg);color:var(--danger)}.progress-list__item-icon--neutral{background:var(--surface-hover);color:var(--text-muted)}.progress-list__item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.progress-list__item-question{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;line-height:1.4}.progress-list__item-status{font-variant-numeric:tabular-nums}.progress-list__item-subject{font-weight:600;opacity:.8}.progress-list__empty{padding:40px 16px;text-align:center}@media(max-width:599px){.progress-list__rollup{padding:14px 16px}.progress-list__solidity{gap:4px}.progress-list__section-bar{width:72px}}.item-detail{display:flex;flex-direction:column;gap:16px;padding:16px 18px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-raised);width:100%;min-width:0}.item-detail--embedded{padding:0;border:none;background:transparent;border-radius:0}.item-detail__section{display:flex;flex-direction:column;gap:6px}.item-detail__label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55}.item-detail__not-studied{opacity:.65;font-style:italic;padding:8px 0}.item-detail__question{font-weight:500;line-height:1.4;word-break:break-word}.item-detail__breadcrumb{opacity:.6;margin-top:2px}.item-detail__answer{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--surface-hover);border-radius:8px;margin-top:4px}.item-detail__answer--empty{font-style:italic;opacity:.55;background:none;padding:0}.item-detail__answer-label{opacity:.55;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.item-detail__answer-text{font-weight:500;word-break:break-word}.item-detail__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media(max-width:599px){.item-detail__grid{grid-template-columns:repeat(2,1fr)}}.item-detail__chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;border-radius:8px;background:var(--surface-sunken);min-height:56px;text-align:center}.item-detail__chip-value{font-size:var(--font-small);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2}.item-detail__chip-label{font-size:var(--font-caption);font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.5;margin-top:4px}.item-detail__chip--positive .item-detail__chip-value{color:var(--success)}.item-detail__chip--negative .item-detail__chip-value{color:var(--danger)}.item-detail__chip--warning .item-detail__chip-value{color:var(--warning)}.item-detail__summary{display:flex;flex-direction:column;gap:4px}.item-detail__summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0;font-size:var(--font-caption)}.item-detail__summary-label{opacity:.6;flex-shrink:0}.item-detail__summary-value{font-weight:500;text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums}.item-detail__answers-list{display:flex;flex-direction:column;gap:3px}.item-detail__answer-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;font-size:var(--font-caption)}.item-detail__answer-row--positive{background:var(--success-bg)}.item-detail__answer-row--negative{background:var(--danger-bg)}.item-detail__answer-row--warning{background:var(--warning-bg)}.item-detail__answer-row--neutral{background:var(--surface-hover)}.item-detail__answer-icon{font-size:var(--font-caption);flex-shrink:0;width:16px;text-align:center}.item-detail__answer-result{font-weight:600;text-transform:capitalize;flex-shrink:0;min-width:50px}.item-detail__answer-time{flex:1;min-width:0;opacity:.7;font-variant-numeric:tabular-nums}.item-detail__answer-rt{flex-shrink:0;opacity:.55;font-variant-numeric:tabular-nums}.item-detail__answer-flag{flex-shrink:0;font-size:var(--font-caption);color:var(--text-accent)}.item-detail-modal{max-width:560px;max-height:calc(var(--vh, 1vh) * 80);display:flex;flex-direction:column}.item-detail-modal__body{flex:1;min-height:0;overflow-y:auto}.item-detail-modal__loading,.item-detail-modal__error{padding:32px 16px;text-align:center}@media(max-width:599px){.item-detail-modal{max-width:100%;max-height:calc(var(--vh, 1vh) * 90)}}.progress-subject{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}.progress-subject__label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55;padding:0 4px}.progress-subject__empty{padding:48px 16px;text-align:center}.progress-subject__rows{display:flex;flex-direction:column;gap:4px}.progress-subject__row{display:flex;align-items:flex-start;gap:12px;width:100%;background:var(--studyhistory_card_bg);border:1px solid var(--studyhistory_card_border);border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s}.progress-subject__row:hover{background:var(--studyhistory_row_bg_hover);border-color:var(--studyhistory_accent)}.progress-subject__row:focus-visible{outline:2px solid var(--studyhistory_accent);outline-offset:1px}.progress-subject__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;margin-top:1px}.progress-subject__icon--positive{background:color-mix(in srgb,var(--studyhistory_accent_positive) 18%,transparent);color:var(--studyhistory_accent_positive)}.progress-subject__icon--warning{background:color-mix(in srgb,var(--studyhistory_accent_warning) 18%,transparent);color:var(--studyhistory_accent_warning)}.progress-subject__icon--negative{background:color-mix(in srgb,var(--studyhistory_accent_negative) 18%,transparent);color:var(--studyhistory_accent_negative)}.progress-subject__icon--neutral{background:var(--studyhistory_hover_bg);opacity:.6}.progress-subject__row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.progress-subject__row-question{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;line-height:1.4}.progress-subject__row-status{font-variant-numeric:tabular-nums}.pd{height:100%;overflow-y:auto}.pd__inner{width:100%;max-width:600px;margin:0 auto;padding:16px 18px 36px}.pd-back{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:4px 0;margin-bottom:10px;cursor:pointer;color:var(--text-secondary);opacity:.85;transition:opacity .15s ease}.pd-back:hover{opacity:1}.pd__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.pd__eyebrow{text-transform:uppercase;letter-spacing:.09em;opacity:.6;margin-bottom:3px}.pd__title{font-weight:600;letter-spacing:-.01em}.pd__mode{flex-shrink:0;display:inline-flex;align-items:center;border:1px solid var(--border-subtle);border-radius:6px;padding:3px 8px;margin-top:3px;text-transform:uppercase;letter-spacing:.05em}.pd-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:14px}.pd-hero{padding:20px 22px 22px;margin-bottom:14px}.pd-hero__verdict{display:flex;align-items:center;gap:16px;margin-bottom:22px}.pd-hero__num{font-weight:600;line-height:1;letter-spacing:-.02em;flex-shrink:0}.pd-hero__vtext{min-width:0}.pd-hero__label{margin-bottom:3px}.pd-hero__sentence{line-height:1.5;opacity:.9}.pd-band{position:relative;padding-top:30px;overflow:hidden}.pd-band__expected{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.pd-band__exp-label{text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-bottom:4px;white-space:nowrap}.pd-band__whisker{position:relative;width:100%;height:9px;display:flex;align-items:center}.pd-band__whisker:before{content:"";position:absolute;left:6px;right:6px;top:50%;height:1.5px;background:color-mix(in srgb,var(--text-primary) 42%,transparent)}.pd-band__cap{position:relative;width:1.5px;height:9px;background:color-mix(in srgb,var(--text-primary) 42%,transparent)}.pd-band__cap:last-child{margin-left:auto}.pd-band__dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--text-primary)}.pd-band__track{position:relative;height:14px;border-radius:8px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);overflow:hidden}.pd-band__fill{position:absolute;left:0;top:0;bottom:0;border-radius:8px 0 0 8px;transition:width .4s cubic-bezier(.4,0,.2,1)}.pd-band__guide{position:absolute;top:-2px;bottom:-2px;width:0;border-left:1.5px dashed color-mix(in srgb,var(--text-primary) 40%,transparent);z-index:2}.pd-band__scale{display:flex;justify-content:space-between;margin-top:9px}.pd-band__scale b{font-weight:600;opacity:.85}.pd-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.pd-metric{padding:12px 14px;background:var(--surface-sunken);border:1px solid var(--border-subtle)}.pd-metric__label{text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin-bottom:6px}.pd-metric__value{font-weight:600;letter-spacing:-.01em}.pd-metric__unit{font-size:var(--font-small);font-weight:400;opacity:.7;margin-left:1px}.pd-why{display:flex;gap:11px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:12px;padding:14px 16px;margin:0 0 24px}.pd-why__icon{flex-shrink:0;opacity:.55;margin-top:2px}.pd-why__line{line-height:1.55;opacity:.9;margin:0}.pd-why__conf{opacity:.65;margin:7px 0 0}.pd-areas__label{text-transform:uppercase;letter-spacing:.09em;opacity:.6;margin-bottom:13px}.pd-area{padding-bottom:16px}.pd-area:not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--text-primary) 10%,transparent);margin-bottom:16px}.pd-area__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.pd-area__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-area__track{position:relative;height:8px;border-radius:5px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);overflow:hidden}.pd-area__fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px 0 0 5px}.pd-area__tick{position:absolute;top:-1px;bottom:-1px;width:0;border-left:1.5px dashed color-mix(in srgb,var(--text-primary) 38%,transparent);z-index:2}.pd-area__meta{opacity:.65;margin-top:7px}.pd-area__list{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 11px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;outline:none;transition:background .12s,border-color .12s}.pd-area__list:hover{background:var(--surface-hover);border-color:var(--border-strong)}.pd-area__list:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.pd-area__list-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.pd-area__list-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.pd-area__list-name{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-area__list-pct{flex-shrink:0;font-variant-numeric:tabular-nums}.pd-area__list-meta{opacity:.65;font-variant-numeric:tabular-nums}.pd-area__list-chev{display:flex;align-items:center;flex-shrink:0;color:var(--text-muted)}.pd-area__unbuilt{margin-top:10px;opacity:.6;font-style:italic}.pd-chip{font-size:var(--font-caption);font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap;flex-shrink:0}.pd-chip--ahead{background:var(--status-success-bg);color:var(--status-success)}.pd-chip--behind{background:var(--status-warning-bg);color:var(--status-warning)}.pd-chip--on_track{background:var(--status-info-bg);color:var(--status-info)}@media(prefers-reduced-motion:reduce){.pd-band__fill{transition:none}}.session-detail{display:flex;flex-direction:column;gap:14px;width:100%;min-width:0}.session-detail__card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.session-detail__section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-detail__section-title{display:inline-flex;align-items:center;gap:7px;letter-spacing:-.01em}.session-detail__section-meta{font-variant-numeric:tabular-nums}.session-detail__section-meta--accent{color:var(--success);opacity:1;font-weight:600}.session-detail__hero{flex-direction:row;align-items:center;gap:16px}.session-detail__hero-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.session-detail__hero-title{letter-spacing:-.01em;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.session-detail__hero-stats{display:flex;gap:14px;flex-wrap:wrap}.session-detail__hero-stat{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.session-detail__ring{position:relative;flex-shrink:0}.session-detail__ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px;font-weight:700;font-variant-numeric:tabular-nums}.session-detail__ring-value{font-size:var(--font-h2)}.session-detail__ring-pct{font-size:var(--font-caption);opacity:.85;margin-top:2px}.session-detail__bar{width:100%;height:22px;border-radius:11px;background:var(--border-subtle);overflow:hidden;display:flex}.session-detail__bar--question{background:var(--danger-bg)}.session-detail__bar-segment{height:100%;transition:width .25s ease}.session-detail__bar-segment--positive{background:var(--success)}.session-detail__bar-segment--warning{background:var(--warning)}.session-detail__bar-segment--negative{background:var(--danger)}.session-detail__legend{display:flex;gap:16px;flex-wrap:wrap}.session-detail__legend-item{display:flex;align-items:center;gap:6px;font-size:var(--font-caption)}.session-detail__legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.session-detail__legend-dot--positive{background:var(--success)}.session-detail__legend-dot--warning{background:var(--warning)}.session-detail__legend-dot--negative{background:var(--danger)}.session-detail__legend-label{font-variant-numeric:tabular-nums}.session-detail__pill{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex-shrink:0;color:var(--text-inverse)}.session-detail__pill--positive{background:var(--success)}.session-detail__pill--negative{background:var(--danger)}.session-detail__progress-row{display:flex;align-items:center;justify-content:space-around;gap:12px;padding:8px 0}.session-detail__progress-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.session-detail__progress-label{text-transform:uppercase;letter-spacing:.06em}.session-detail__progress-value{font-variant-numeric:tabular-nums}.session-detail__progress-arrow{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.session-detail__progress-arrow-glyph{display:flex;align-items:center;color:var(--text-secondary)}.session-detail__progress-delta{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:var(--font-caption);font-weight:700;font-variant-numeric:tabular-nums}.session-detail__progress-delta--positive{background:var(--success-bg);color:var(--success)}.session-detail__progress-delta--negative{background:var(--danger-bg);color:var(--danger)}.session-detail__chips{display:flex;gap:8px;flex-wrap:wrap}.session-detail__chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;font-size:var(--font-caption);font-weight:600;font-variant-numeric:tabular-nums}.session-detail__chip--positive{background:var(--success-bg);color:var(--success)}.session-detail__chip--negative{background:var(--danger-bg);color:var(--danger)}.session-detail__items-header{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;outline:none}.session-detail__items-header:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:4px}.session-detail__items-meta{display:flex;align-items:center;gap:8px}.session-detail__items-chevron{display:flex;align-items:center;color:var(--text-secondary)}.session-detail__filter-chip-icon{display:flex;align-items:center;flex-shrink:0}.session-detail__filter-chips{display:flex;flex-wrap:wrap;gap:6px}.session-detail__filter-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:14px;border:1px solid var(--border-subtle);background:transparent;font-size:var(--font-caption);font-weight:500;color:var(--text-secondary);cursor:pointer;outline:none;transition:background .12s,border-color .12s,color .12s}.session-detail__filter-chip:hover{background:var(--surface-hover)}.session-detail__filter-chip--active{background:var(--surface-selected);border-color:var(--border-focus);color:var(--text-primary);font-weight:600}.session-detail__filter-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.session-detail__items-list{display:flex;flex-direction:column;gap:4px}.session-detail__item-row{border-radius:8px;background:var(--surface-sunken);overflow:hidden}.session-detail__item-header{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:8px 10px;cursor:pointer;text-align:left;font:inherit;color:inherit;outline:none;transition:background .12s}.session-detail__item-header:hover{background:var(--surface-hover)}.session-detail__item-header:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.session-detail__item-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px 8px;border-radius:6px;font-size:var(--font-caption);font-weight:700;font-variant-numeric:tabular-nums;min-width:36px}.session-detail__item-indicator--positive{background:var(--success-bg);color:var(--success)}.session-detail__item-indicator--warning{background:var(--warning-bg);color:var(--warning)}.session-detail__item-indicator--negative{background:var(--danger-bg);color:var(--danger)}.session-detail__item-indicator--neutral{background:var(--border-subtle);opacity:.6}.session-detail__item-text{flex:1;min-width:0;line-height:1.4;display:flex;flex-direction:column;gap:4px;overflow:hidden}.session-detail__item-text>:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-detail__item-badges{display:flex;flex-wrap:wrap;gap:4px}.session-detail__badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:4px;font-size:var(--font-caption);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.session-detail__badge--positive{background:var(--success-bg);color:var(--success)}.session-detail__badge--negative{background:var(--danger-bg);color:var(--danger)}.session-detail__badge--warning{background:var(--warning-bg);color:var(--warning)}.session-detail__item-chevron{display:flex;align-items:center;flex-shrink:0;color:var(--text-secondary)}.session-detail__item-body{padding:8px 10px 12px;border-top:1px solid var(--border-subtle)}.session-detail__item-loading{padding:16px;text-align:center;font-size:var(--font-caption);opacity:.6}@media(max-width:599px){.session-detail__card{padding:14px}.session-detail__hero{gap:12px}.session-detail__progress-row{gap:6px}.session-detail__progress-value{font-size:var(--font-h3)}}.session-detail-module{width:100%;height:100%;overflow-y:auto;display:flex;justify-content:center}.session-detail-module__inner{width:100%;max-width:720px;min-width:0;padding:28px 24px 80px;display:flex;flex-direction:column;gap:18px}@media(max-width:599px){.session-detail-module__inner{padding:18px 14px 80px;gap:14px}}.session-detail-module__header{display:flex;flex-direction:column;gap:2px;padding:0 4px}.session-detail-module__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.55}.session-detail-module__title{letter-spacing:-.02em}.session-detail-module__header-with-back{display:flex;align-items:flex-start;gap:12px;padding:0 4px}.session-detail-module__back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-subtle);border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit;color:inherit;outline:none;transition:background .12s,border-color .12s;flex-shrink:0}.session-detail-module__back-btn:hover{background:var(--surface-hover);border-color:var(--border-focus)}.session-detail-module__back-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.session-detail-module__title-block{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.session-detail-module__loading,.session-detail-module__error{padding:48px 16px;text-align:center;font-size:var(--font-small);opacity:.7}.session-detail-module__error{color:var(--danger)}.sdb--desktop{--sdb-rail-w: 48px;--sdb-rail-exp: 180px;--sdb-fly-w: 214px;--sdb-radius: 8px;--sdb-dur: .12s;display:flex;align-items:stretch;gap:2px;height:100%;min-height:0;padding:2px 0;box-sizing:border-box}@media(max-width:1023px)and (min-width:768px){.sdb--desktop{--sdb-rail-exp: 164px;--sdb-fly-w: 190px}}.sdb__rail-zone{position:relative;flex:0 0 var(--sdb-rail-w);align-self:stretch;min-height:0;overflow:visible;z-index:50}.sdb__rail-zone--hidden{display:none}.sdb__rail{position:absolute;left:0;top:0;bottom:0;width:var(--sdb-rail-w);box-sizing:border-box;display:flex;flex-direction:column;gap:2px;padding:6px;overflow:hidden;background:var(--surface-raised);border:1px solid var(--border-subtle);border-left:none;border-radius:0 var(--sdb-radius) var(--sdb-radius) 0;transition:width .15s ease,box-shadow .15s ease,opacity var(--sdb-dur)}.sdb__rail:hover,.sdb__rail--held{width:var(--sdb-rail-exp);box-shadow:var(--shadow-overlay)}.sdb__rail-btn{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 8px;box-sizing:border-box;flex-shrink:0;border:none;background:none;border-radius:var(--sdb-radius);color:var(--text-secondary);font-size:var(--font-small);cursor:pointer;text-align:left;transition:background var(--sdb-dur),color var(--sdb-dur)}.sdb__rail-btn:hover,.sdb__rail-btn--open{background:var(--surface-hover);color:var(--text-primary)}.sdb__rail-btn--active{background:var(--surface-selected);color:var(--text-accent)}.sdb__rail-glyph{position:relative;width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sdb__rail-dot{position:absolute;top:-1px;right:-3px;width:8px;height:8px;border-radius:999px;background:var(--warning);border:2px solid var(--surface-raised);box-sizing:content-box}.sdb__rail-label,.sdb__rail-caret{opacity:0;white-space:nowrap;transition:opacity var(--sdb-dur) ease}.sdb__rail-caret{margin-left:auto;display:flex;align-items:center}.sdb__rail:hover .sdb__rail-label,.sdb__rail:hover .sdb__rail-caret,.sdb__rail--held .sdb__rail-label,.sdb__rail--held .sdb__rail-caret{opacity:1;transition:opacity .16s ease .03s}.sdb__rail-divider{width:100%;height:1px;flex-shrink:0;background:var(--border-subtle);margin:4px 0}.sdb__fly{position:absolute;left:calc(var(--sdb-rail-exp) + 4px);max-height:100%;width:var(--sdb-fly-w);box-sizing:border-box;display:flex;flex-direction:column;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--sdb-radius);box-shadow:var(--shadow-overlay);opacity:0;pointer-events:none;transition:opacity .1s ease;z-index:2}.sdb__fly--open{opacity:1;pointer-events:auto}.sdb__fly:before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:10px}.sdb__fly-list{display:flex;flex-direction:column;gap:2px;padding:6px;min-height:0;overflow-y:auto}.sdb__fly-row{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 8px;box-sizing:border-box;flex-shrink:0;border:none;background:none;border-radius:var(--sdb-radius);cursor:pointer;text-align:left;transition:background var(--sdb-dur)}.sdb__fly-row:hover{background:var(--surface-hover)}.sdb__fly-avatar{width:22px;height:22px;flex-shrink:0;border-radius:6px;background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--font-caption);font-weight:500;display:flex;align-items:center;justify-content:center}.sdb__fly-glyph{width:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.sdb__fly-name{flex:1;min-width:0;font-size:var(--font-small);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdb__fly-meta{font-size:var(--font-caption);color:var(--text-muted);flex-shrink:0}.sdb__fly-empty{padding:20px 8px;text-align:center;font-size:var(--font-caption);color:var(--text-muted)}.sdb__content-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.sdb--mobile{height:100%;position:relative;width:100%;display:flex;flex-direction:column;overflow:hidden}.sdb-mobile__content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.sdb-mobile__bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-shrink:0;border-top:1px solid var(--border-subtle);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0px)}.sdb-mobile__bar-btn{position:relative;flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 10px;background:none;border:none;cursor:pointer;transition:background-color .15s;-webkit-tap-highlight-color:transparent;color:var(--text-secondary)}.sdb-mobile__bar-btn:focus{outline:none}.sdb-mobile__bar-btn:active{background-color:var(--surface-hover)}.sdb-mobile__bar-btn--active:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:3px;border-radius:3px 3px 0 0;background-color:var(--text-accent)}.sdb-mobile__bar-icon{display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.sdb-mobile__bar-badge{position:absolute;top:4px;left:50%;transform:translate(6px);min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:var(--warning);color:var(--text-inverse);font-size:var(--font-caption);font-weight:700;line-height:16px;text-align:center}.sdb-mobile__bar-btn--active .sdb-mobile__bar-icon{transform:scale(1.15)}.sdb-mobile__bar-label{font-size:var(--font-caption);line-height:1;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--text-primary);opacity:.6;transition:opacity .15s}.sdb-mobile__bar-btn--active .sdb-mobile__bar-label{opacity:1;font-weight:600}.sdb-mobile__more-wrap{flex:1;display:flex;flex-direction:column;align-items:center}.sdb-mobile__more-bubble{position:fixed;left:8px;right:8px;bottom:calc(var(--sdb-mobile-bar-height, 56px) + 10px);max-height:calc(var(--vh, 1vh) * 70);background:var(--surface);border:1px solid var(--border-subtle);border-radius:18px;padding:4px 0;display:flex;flex-direction:column;transform-origin:bottom right;animation:sdb-more-pop .18s cubic-bezier(.16,1,.3,1);z-index:40;box-shadow:var(--shadow-overlay);overflow-y:auto;overflow-x:hidden}@keyframes sdb-more-pop{0%{opacity:0;transform:scale(.88) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.sdb-mobile__more-section{padding:12px 14px 10px;border-bottom:1px solid var(--border-subtle)}.sdb-mobile__more-section--last{border-bottom:none}.sdb-mobile__more-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px;text-transform:uppercase;letter-spacing:.06em}.sdb-mobile__more-section-action{background:none;border:none;cursor:pointer;padding:4px 6px;margin:-4px -6px;font-size:var(--font-caption);font-weight:600;color:var(--text-primary);text-transform:none;letter-spacing:0;border-radius:6px}.sdb-mobile__more-section-action:active{background:var(--surface-hover)}.sdb-mobile__more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.sdb-mobile__tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;background:none;border:none;cursor:pointer;border-radius:10px;transition:background .12s;min-width:0}.sdb-mobile__tile:active{background:var(--surface-hover)}.sdb-mobile__tile-icon{width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-sunken);color:var(--text-accent)}.sdb-mobile__tile-icon--avatar{font-weight:600;font-size:var(--font-body)}.sdb-mobile__tile-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.2}.sdb-mobile__more-empty{padding:12px 8px;text-align:center}.sdb-mobile__more-divider{height:1px;background:var(--border-subtle);margin:2px 0}.sdb-mobile__more-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--border-subtle);border-radius:12px;background:transparent;cursor:pointer;text-align:left;transition:background .12s,border-color .12s;-webkit-tap-highlight-color:transparent}.sdb-mobile__more-item:active{background:var(--surface-hover);border-color:var(--border-strong)}.sdb-mobile__more-item-icon{width:38px;height:38px;border-radius:9px;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-h3);line-height:1}.sdb-mobile__more-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sdb-mobile__more-item-label{font-size:var(--font-small);font-weight:600;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdb-mobile__more-item-sub{font-size:var(--font-caption);color:var(--text-secondary);line-height:1.2}.sd__placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.sd__placeholder-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:360px;text-align:center;padding:40px 32px;background:var(--surface-raised);border:1px dashed var(--border-subtle);border-radius:16px}.sd__placeholder-icon{font-size:40px;opacity:.4}.sd__placeholder-title{margin:0;font-size:var(--font-body);font-weight:700;color:var(--text-primary)}.sd__placeholder-text{margin:0;font-size:var(--font-small);color:var(--text-secondary);line-height:1.5}.sd__placeholder-btn{margin-top:4px;padding:9px 20px;border-radius:8px;border:none;background:var(--action-bg);color:var(--action-text);font-size:var(--font-small);font-weight:600;cursor:pointer;transition:opacity .12s}.sd__placeholder-btn:hover{opacity:.85}.dashboard-topbar{container-type:inline-size;container-name:topbar}.topbar-right .topbar-overflow{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:8px;min-width:0}.topbar-right .topbar-overflow__inline{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:8px}.topbar-right .topbar-overflow__item{display:inline-flex;align-items:center;flex:0 0 auto}.topbar-right .topbar-overflow__trigger{display:none!important}@container topbar (max-width: 300px){.topbar-left .topbar-acromio-icon{display:none!important}.topbar-right{flex:1;justify-content:center}}@supports not (container-type: inline-size){@media(max-width:300px){.topbar-left .topbar-acromio-icon{display:none!important}}}.topbar-overflow__trigger{position:relative;flex-shrink:0;align-items:center;justify-content:center}.topbar-overflow__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--topbar_badge_bg, #e5484d);color:var(--topbar_badge_text, #fff);font-size:var(--font-caption);font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}.topbar-popover--surface{border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #00000040}.topbar-overflow__menu .topbar-overflow__menu-list{display:flex;flex-direction:column;padding:6px;gap:2px}.topbar-overflow__menu-row{display:flex;align-items:center;border-radius:8px;min-height:48px;color:inherit}.topbar-overflow__menu-row:hover{background:color-mix(in srgb,currentColor 10%,transparent)}.topbar-overflow__menu-row>*{width:100%}.topbar-menu-row-btn{display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--font-small, .875rem);font-weight:500;color:inherit;border-radius:8px;text-align:left}.topbar-menu-row-label{flex:1}.topbar-overflow__menu-row .topbar-btn-icon{font-size:var(--font-h2);line-height:1}.topbar-overflow__menu-row .notification-bell{width:100%}.topbar-overflow__menu-row .notification-bell__btn{width:100%;justify-content:flex-start;gap:14px;padding:12px 16px}.topbar-overflow__menu-row .notification-bell__btn .topbar-btn-icon{font-size:var(--font-h2);line-height:1}.topbar-overflow__menu-row .notification-bell__btn:after{content:"Notifications";font-size:var(--font-small, .875rem);font-weight:500;color:inherit}.topbar-overflow__menu-row .notification-bell__badge{position:static;margin-left:auto;box-shadow:none}.topbar-overflow__menu-row .quickask{width:100%}.topbar-overflow__menu-row .quickask__btn{width:100%;justify-content:flex-start;gap:14px;padding:12px 16px}.topbar-overflow__menu-row .quickask__btn:after{content:"Quick ask";font-size:var(--font-small, .875rem);font-weight:500;color:inherit}.media-btn{position:relative;display:inline-flex;align-items:center;gap:1px;background:none;border:none;cursor:pointer;height:36px;padding:0 8px;border-radius:8px;color:var(--text-primary);transition:background .12s}.media-btn:hover{background:var(--surface-hover)}.media-btn__glyph{font-size:var(--font-small);line-height:1}.media-btn__glyph--play{font-size:.7em;opacity:.85}.media-btn__dot{position:absolute;top:5px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.media-btn__dot.is-playing{background:var(--text-accent);animation:media-pulse 1.6s ease-out infinite}@keyframes media-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--text-accent) 60%,transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb,var(--text-accent) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--text-accent) 0%,transparent)}}.media-pop{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 12px 40px #00000073;font-family:Omnes,system-ui,sans-serif;overflow:hidden}.media-pop__stack{display:flex;flex-direction:column}.media-pop__stack>.media-sec+.media-sec{border-top:1px solid var(--border-strong)}.media-sec{padding:12px 14px}.media-sec__label{font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.media-sec__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.media-sec__art{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}.media-sec__art--none{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-sunken);color:var(--text-muted);font-size:var(--font-body)}.media-sec__meta{min-width:0;flex:1}.media-sec__title{font-size:var(--font-small);font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-sec__sub{font-size:var(--font-caption);color:var(--text-secondary);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-sec__actions{display:flex;gap:2px;flex-shrink:0}.media-sec__iconbtn{background:none;border:none;color:var(--text-primary);cursor:pointer;width:34px;height:34px;border-radius:8px;font-size:var(--font-body);display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.media-sec__iconbtn:hover{background:var(--surface-hover);color:var(--text-primary)}.media-sec__iconbtn--close:hover{background:color-mix(in srgb,var(--text-primary) 12%,transparent)}.media-sec__scrub{display:flex;align-items:center;gap:8px;margin-bottom:10px}.media-sec__time{font-size:var(--font-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.media-sec__scrub input,.media-sec__volume input{-webkit-appearance:none;appearance:none;height:4px;border-radius:99px;cursor:pointer;background:linear-gradient(to right,var(--text-accent) 0%,var(--text-accent) var(--val, 0%),var(--surface-sunken) var(--val, 0%),var(--surface-sunken) 100%)}.media-sec__scrub input{flex:1}.media-sec__scrub input::-webkit-slider-thumb,.media-sec__volume input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);cursor:pointer}.media-sec__transport{display:flex;align-items:center;gap:6px}.media-sec__btn{background:none;border:none;color:var(--text-primary);cursor:pointer;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-caption);font-family:inherit;transition:background .12s,color .12s}.media-sec__btn:hover{background:var(--surface-hover);color:var(--text-primary)}.media-sec__btn--play{background:var(--action-bg);color:var(--action-text);width:42px;height:42px}.media-sec__btn--mute{margin-left:auto}.media-sec__spinner{width:14px;height:14px;border:2px solid var(--action-bg-subtle);border-top-color:var(--action-text);border-radius:50%;animation:media-spin .7s linear infinite}@keyframes media-spin{to{transform:rotate(360deg)}}.media-sec__volume{display:flex;align-items:center;gap:6px;margin-left:auto}.media-sec__volume input{width:70px}.dashboard{display:flex;flex-direction:column;height:calc(var(--vh, 1vh) * 100);background:var(--accent-600)}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;height:12px;position:relative;z-index:100}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-sidebar-toggle{margin-left:-6px;margin-right:-6px}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-btn{background:none;border:none;cursor:pointer;width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-secondary);transition:background-color .15s,color .15s}.topbar-btn:hover{color:var(--text-primary);background-color:var(--surface-hover)}.topbar-btn-icon{font-size:var(--font-h2);line-height:1}.topbar-user{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-radius:8px;margin:0 4px}.topbar-user-info{display:flex;flex-direction:column;gap:0}.avatar-circle{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-small);font-weight:700;flex-shrink:0}.overview-modal{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.overview-modal__content{width:100%;max-width:900px;max-height:calc(var(--vh, 1vh) * 85);overflow-y:auto;border-radius:12px}.dashboard-main{flex:1;display:flex;justify-content:center}.dashboard-main--full{flex:1;min-height:0;display:flex;padding:0}.dashboard-main--full>*{flex:1;min-height:0}.dashboard-content{max-width:800px;width:100%}.tutor-dashboard{flex:1;min-height:0}@media(max-width:767px){.dashboard-topbar{height:28px}.topbar-user-info{display:none}}@media(max-width:640px){.dashboard-topbar{height:28px}.topbar-user-info{display:none}}@media(max-width:432px){.topbar-acromio-text{display:none}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--surface: var(--neutral-50);--surface-raised: var(--neutral-0);--surface-sunken: var(--neutral-100);--surface-overlay: var(--neutral-0);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-muted: var(--neutral-500);--text-inverse: var(--accent-contrast);--text-accent: var(--accent-600);--border-subtle: var(--neutral-200);--border-strong: var(--neutral-400);--border-focus: var(--accent-500);--action-bg: var(--accent-600);--action-bg-hover: var(--accent-700);--action-text: var(--accent-contrast);--action-ghost-hover: var(--accent-100);--status-struggling: var(--struggling);--status-struggling-bg: var(--struggling-bg);--status-fragile: var(--fragile);--status-fragile-bg: var(--fragile-bg);--status-solid: var(--solid);--status-solid-bg: var(--solid-bg);--status-mastered: var(--mastered);--status-mastered-bg: var(--mastered-bg);--status-learning: var(--learning);--status-learning-bg: var(--learning-bg);--danger: var(--struggling);--danger-bg: var(--struggling-bg);--warning: var(--fragile);--warning-bg: var(--fragile-bg);--success: var(--mastered);--success-bg: var(--mastered-bg);--info: var(--solid);--info-bg: var(--solid-bg);--surface-hover: var(--neutral-100);--surface-selected: var(--accent-100);--field-bg: var(--neutral-0);--field-border: var(--neutral-300);--field-placeholder: var(--neutral-500);--shadow-card: var(--elev-1);--shadow-overlay: var(--elev-2);--shadow-tint: rgba(12, 20, 26, .45)}
