@font-face{font-family:pretendard;src:url(/_next/static/media/ff840cfebfb63b0c-s.p.woff2) format("woff2");font-display:swap;font-weight:45 920}@font-face{font-family:pretendard Fallback;src:local("Arial");ascent-override:93.76%;descent-override:23.75%;line-gap-override:0.00%;size-adjust:101.55%}.__className_fde3a9{font-family:pretendard,pretendard Fallback}.__variable_fde3a9{--font-pretendard:"pretendard","pretendard Fallback"}:root{--page-bg:#e5e7e9;--shell-bg:#f7f8f9;--card-bg:#ffffff;--surface-sunken:#f1f3f4;--text:#16181b;--text-muted:#636a75;--border:#e6e8ea;--accent:#86cc4a;--accent-hover:#78bb3e;--accent-ink:#4d7c1f;--on-accent:#14250a;--accent-wash:#eef7e3;--accent-soft:#b6e092;--accent-surface:#86cc4a;--on-accent-surface:#14250a;--on-accent-surface-muted:#2c4a17;--accent-tile-sheen:linear-gradient(180deg,rgb(255 255 255/0.18),transparent 55%);--warn:#b45309;--danger:#b91c1c;--up:#c62828;--down:#1565c0;--radius-shell:20px;--radius-card:16px;--radius-inner:10px;--radius-pill:999px;--gap:16px;--fs-display:2.125rem;--fs-h1:1.375rem;--fs-lead:1.0625rem;--fs-body:0.9375rem;--fs-meta:0.8125rem;--fs-micro:0.6875rem;--shadow-card:0 1px 2px rgb(28 32 38/0.04),0 4px 12px rgb(28 32 38/0.05);--shadow-card-raised:0 2px 4px rgb(28 32 38/0.05),0 10px 26px rgb(28 32 38/0.09);--shadow-shell:0 1px 3px rgb(28 32 38/0.05),0 12px 32px rgb(28 32 38/0.07);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.14'/%3E%3C/svg%3E");--sky-base:#14171b;--sky-scrim:0.35;--sky-text-shadow:0 1px 2px rgb(0 0 0/0.9),0 0 12px rgb(0 0 0/0.75);--ease:cubic-bezier(0.16,1,0.3,1);--font-sans:var(--font-pretendard),system-ui,-apple-system,"Segoe UI",Roboto,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}:root[data-theme=dark]{--page-bg:#0d0f12;--shell-bg:#14161a;--card-bg:#1c1f24;--surface-sunken:#22262c;--text:#e8eaed;--text-muted:#9aa0a6;--border:#2a2e35;--accent:#9bd94f;--accent-hover:#aae063;--accent-ink:#9bd94f;--on-accent:#14250a;--accent-wash:#1e2a14;--accent-soft:#82b446;--accent-surface:#3d5c23;--on-accent-surface:#f0f7e6;--on-accent-surface-muted:#c3dba7;--accent-tile-sheen:linear-gradient(180deg,transparent 45%,rgb(0 0 0/0.22));--warn:#fbbf24;--danger:#f87171;--up:#ff8a80;--down:#79c0ff;--shadow-card:0 1px 2px rgb(0 0 0/0.3),0 4px 12px rgb(0 0 0/0.25);--shadow-card-raised:0 2px 4px rgb(0 0 0/0.34),0 10px 26px rgb(0 0 0/0.3);--shadow-shell:0 1px 3px rgb(0 0 0/0.35),0 12px 32px rgb(0 0 0/0.3);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.08'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{background-color:var(--page-bg);background-image:var(--grain)}body,html{margin:0;padding:0;color:var(--text);font-family:var(--font-sans);letter-spacing:-.01em;line-height:1.45;-webkit-font-smoothing:antialiased}body{font-size:var(--fs-body)}p{text-wrap:pretty}button,input,select,textarea{font-family:inherit}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}.app-nav-link,.feed-color-option,a,button,input,select{transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.goal-form button,.login-form button,.wallpaper-form button,.watchlist-add button,.weather-location-search button,.weight-input button{border:none;border-radius:var(--radius-inner);background:var(--accent);color:var(--on-accent);font-size:var(--fs-body);font-weight:600;cursor:pointer}.goal-form button:hover:not(:disabled),.login-form button:hover:not(:disabled),.wallpaper-form button:hover:not(:disabled),.watchlist-add button:hover:not(:disabled),.weather-location-search button:hover:not(:disabled),.weight-input button:hover:not(:disabled){background:var(--accent-hover)}.goal-form button:active:not(:disabled),.login-form button:active:not(:disabled),.wallpaper-form button:active:not(:disabled),.watchlist-add button:active:not(:disabled),.weather-location-search button:active:not(:disabled),.weight-input button:active:not(:disabled){transform:translateY(1px)}.goal-form button:disabled,.login-form button:disabled,.wallpaper-form button:disabled,.watchlist-add button:disabled,.weather-location-search button:disabled,.weight-input button:disabled{opacity:.5;cursor:not-allowed}.watchlist-actions button,.weather-location-candidates button,.weight-entry button{border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--card-bg);color:var(--text);font-size:var(--fs-body);cursor:pointer}.watchlist-actions button:hover:not(:disabled),.weather-location-candidates button:hover:not(:disabled),.weight-entry button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-muted)}.watchlist-actions button:active:not(:disabled),.weather-location-candidates button:active:not(:disabled),.weight-entry button:active:not(:disabled){transform:translateY(1px)}.feed-item button,.newsfeed-source-item button,.watchlist-actions button,.weight-entry button{flex:none;white-space:nowrap}.goal-form input,.login-form input,.wallpaper-form input,.wallpaper-form select,.watchlist-add input,.watchlist-add select,.weather-location-search input,.weight-entry input,.weight-input input{border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-sunken);color:var(--text)}.goal-form input:hover,.login-form input:hover,.wallpaper-form input:hover,.wallpaper-form select:hover,.watchlist-add input:hover,.weather-location-search input:hover,.weight-input input:hover{border-color:var(--text-muted)}.app-shell{max-width:min(1440px,100% - 48px);margin:24px auto;background-color:var(--shell-bg);background-image:var(--grain);border-radius:var(--radius-shell);box-shadow:var(--shadow-shell);overflow:hidden;display:flex;align-items:stretch}.app-shell>:not(.app-nav){flex:1 1;min-width:0}@media (max-width:768px){.app-shell{display:block;max-width:none;margin:0;border-radius:0;box-shadow:none;min-height:100dvh}}.app-nav{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:220px;flex-shrink:0;padding:20px;border-right:1px solid var(--border)}.app-nav-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.app-nav-brand{min-width:0;margin-right:auto;font-size:var(--fs-lead);font-weight:650;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav-brand:hover{text-decoration:none}.app-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:4px}.app-nav-link{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-pill);font-size:var(--fs-body);color:var(--text-muted)}.app-nav-icon{flex-shrink:0}.app-nav-link:hover{background:var(--surface-sunken);color:var(--text);text-decoration:none}.app-nav-link[aria-current=page]{background:var(--accent-wash);color:var(--accent-ink);font-weight:600}@media (max-width:768px){.app-nav{flex-direction:row;align-items:center;width:auto;height:64px;padding:0 20px;border-right:none;border-bottom:1px solid var(--border)}.app-nav-head{margin-right:auto;margin-bottom:0}.app-nav-links{flex-direction:row;align-items:center}.app-nav-link{padding:6px 12px}.app-nav-toggle{display:none}}@media (min-width:769px){[data-sidebar=collapsed] .app-nav{width:64px;padding:20px 12px}[data-sidebar=collapsed] .app-nav-head{justify-content:center}[data-sidebar=collapsed] .app-nav-brand{display:none}[data-sidebar=collapsed] .app-nav-toggle svg{transform:rotate(180deg)}[data-sidebar=collapsed] .app-nav-link{justify-content:center;gap:0;padding:8px}[data-sidebar=collapsed] .app-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}[data-sidebar=collapsed] .app-nav-player .mini-player{align-items:center}[data-sidebar=collapsed] .app-nav-player .mini-player-empty,[data-sidebar=collapsed] .app-nav-player .mini-player-meta,[data-sidebar=collapsed] .app-nav-player .player-btn:not(.player-btn-play),[data-sidebar=collapsed] .app-nav-player .player-progress,[data-sidebar=collapsed] .app-nav-player .player-time{display:none}}@media (max-width:640px){.app-nav{padding:0 12px;height:56px}.app-nav-brand{display:none}.app-nav-link{justify-content:center;gap:0;padding:8px}.app-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}}.app-nav-player{margin-top:auto}.mini-player{display:flex;flex-direction:column;gap:6px}.mini-player-empty{font-size:var(--fs-meta);color:var(--text-muted)}.mini-player-empty p{margin:0 0 4px}.mini-player-track{display:flex;align-items:center;gap:8px;min-width:0}.mini-player-art{width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-inner);object-fit:cover}.mini-player-meta{display:flex;flex-direction:column;min-width:0}.mini-player-artist,.mini-player-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-player-title{font-size:var(--fs-meta);font-weight:600;color:var(--text)}.mini-player-artist{font-size:var(--fs-micro);color:var(--text-muted)}.player-progress{height:3px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.player-progress-fill{height:100%;background:var(--accent-ink);transition:width .2s linear}.player-time{display:flex;justify-content:space-between;font-size:var(--fs-micro);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.player-controls{display:flex;align-items:center;justify-content:center;gap:4px}.app-nav-toggle,.month-nav-btn,.player-btn,.todo-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer}.app-nav-toggle{flex-shrink:0}.todo-btn{width:24px;height:24px;flex:none}.app-nav-toggle:hover,.month-nav-btn:hover,.player-btn:hover,.todo-btn:hover{background:var(--surface-sunken);color:var(--text)}.todo-btn:disabled{opacity:.5;cursor:not-allowed}.player-btn[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-wash)}.player-btn-play{width:32px;height:32px;color:var(--text)}.playlist-manager{display:flex;flex-direction:column;gap:8px}.playlist-add{display:flex;gap:6px}.playlist-add input{flex:1 1;min-width:0}.playlist-msg{color:var(--danger)}.playlist-empty,.playlist-msg{margin:0;font-size:var(--fs-meta)}.playlist-empty{color:var(--text-muted)}.playlist-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.playlist-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-inner);background:var(--surface-sunken)}.playlist-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-count{flex-shrink:0;font-size:var(--fs-meta);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.playlist-hint{margin:0;font-size:var(--fs-micro);color:var(--text-muted)}.music-card{position:relative;display:flex;flex-direction:column;gap:4px}.music-card-playlist{width:calc(100% - 34px);margin-bottom:6px;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--card-bg);color:var(--text);font-size:var(--fs-meta);font-family:inherit}.music-card-art{width:100%;aspect-ratio:1;object-fit:cover;max-width:175px;margin:0 auto;border-radius:var(--radius-inner)}.music-card-art-empty{background:var(--surface-sunken)}.music-card-title{margin:6px 0 0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-card-artist{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.music-card .player-progress{margin-top:8px}.music-card .player-controls{gap:6px;margin-top:4px}.music-card .player-btn{width:32px;height:32px}.music-card .player-btn-play{width:40px;height:40px;color:var(--text);background:var(--surface-sunken)}.music-card .player-btn-play:hover{background:var(--accent-wash);color:var(--accent-ink)}.music-card-list-btn{position:absolute;top:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer}.music-card-list-btn:hover,.music-card-list-btn[aria-expanded=true]{background:var(--surface-sunken);color:var(--text)}.music-card-list{position:absolute;inset:0;z-index:1;overflow-y:auto;margin:0;padding:0;list-style:none;background:var(--card-bg);border-radius:var(--radius-inner)}.music-card-list>li:first-child{margin-top:28px}.music-track{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:none;background:transparent;font-size:var(--fs-meta);color:var(--text);text-align:left;cursor:pointer}.music-track:hover{background:var(--surface-sunken);text-decoration:none}.music-track[aria-current=true]{color:var(--accent-ink);font-weight:600}.music-track-blocked{color:var(--text-muted)}.music-track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-track-time{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.memo-input{display:block;width:100%;height:192px;padding:0;border:none;background:transparent;color:var(--text);font:inherit;line-height:1.6;resize:none;overflow-y:auto}.memo-input:focus{outline:none}.memo-input::placeholder{color:var(--text-muted)}.memo-status{font-size:var(--fs-meta);color:var(--text-muted)}.memo-status[data-state=error]{color:var(--danger)}.widget-card{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;display:flex;flex-direction:column;gap:8px;min-height:120px}.widget-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.widget-card-title{margin:0;font-size:var(--fs-meta);font-weight:600;color:var(--text-muted);letter-spacing:.02em}.widget-freshness{font-size:var(--fs-micro);color:var(--text-muted);white-space:nowrap}.widget-card.stale{opacity:.55}.widget-card.stale .widget-freshness{color:var(--warn)}.widget-error-badge{color:var(--danger);font-size:var(--fs-meta)}.widget-card-body{flex:1 1;display:flex;flex-direction:column}.widget-card.accent{background-color:var(--accent-surface);background-image:var(--accent-tile-sheen);box-shadow:var(--shadow-card-raised);color:var(--on-accent-surface);position:relative;overflow:hidden;isolation:isolate}.widget-card.accent:before{content:"";position:absolute;inset:auto 0 0 0;height:45%;z-index:-1;background:repeating-linear-gradient(45deg,var(--on-accent-surface) 0 2px,transparent 2px 9px);opacity:.13;pointer-events:none}.widget-card.accent .empty-state,.widget-card.accent .widget-card-title,.widget-card.accent .widget-freshness{color:var(--on-accent-surface-muted)}.widget-card.accent a{color:var(--on-accent-surface);text-decoration:underline}.widget-card.accent.stale .widget-freshness{color:var(--on-accent-surface);font-weight:600}.widget-card.accent .widget-error-badge{color:var(--on-accent-surface)}.widget-card.accent[data-photo]{background-color:var(--sky-base);box-shadow:var(--shadow-card-raised);color:#fff;min-height:240px}.widget-card.accent[data-photo=sky]{background-image:linear-gradient(rgb(0 0 0/var(--sky-scrim)),rgb(0 0 0/var(--sky-scrim))),var(--sky-photo,none);background-size:cover;background-position:50%}.widget-card.accent[data-photo]:before{display:none}.widget-card.accent[data-photo] .now-card{display:flex;flex-wrap:wrap;align-content:flex-end;align-items:flex-end;justify-content:flex-end;column-gap:32px;row-gap:10px}.widget-card.accent[data-photo] .live-clock{margin-top:12px}.widget-card.accent[data-photo] .now-weather{align-self:end;align-items:flex-end;text-align:right}.widget-card.accent[data-photo] .now-weather-head{justify-content:flex-end}.widget-card.accent[data-photo] .empty-state,.widget-card.accent[data-photo] .live-clock-date,.widget-card.accent[data-photo] .live-clock-time,.widget-card.accent[data-photo] .now-condition,.widget-card.accent[data-photo] .now-detail,.widget-card.accent[data-photo] .now-forecast,.widget-card.accent[data-photo] .now-forecast-pop,.widget-card.accent[data-photo] .now-location,.widget-card.accent[data-photo] .now-weather-empty,.widget-card.accent[data-photo] .widget-card-title,.widget-card.accent[data-photo] .widget-freshness{color:#fff}.widget-card.accent[data-photo]{text-shadow:var(--sky-text-shadow)}.widget-card.accent[data-photo] .weather-icon{filter:drop-shadow(0 0 8px rgb(0 0 0/.8))}.widget-card.accent[data-photo].stale .widget-freshness{color:#fff;font-weight:600}.widget-card.accent[data-photo] .widget-error-badge{color:#fff}.widget-card[data-sky^=night-]{--sky-scrim:0.22}.wallpaper-layer{position:absolute;inset:0;border-radius:var(--radius-card);overflow:hidden}.widget-card[data-photo=custom]>.widget-card-body,.widget-card[data-photo=custom]>.widget-card-head{position:relative}.wallpaper-frame{position:absolute;inset:0;background-size:cover;background-position:50%}.wallpaper-frame-in{animation:wallpaper-fade .9s ease-out}@keyframes wallpaper-fade{0%{opacity:0}to{opacity:1}}.wallpaper-scrim{position:absolute;inset:0;background:rgb(0 0 0/var(--sky-scrim))}@media (prefers-reduced-motion:reduce){.wallpaper-frame-in{animation:none}}.wallpaper-nav{position:absolute;left:16px;bottom:16px;z-index:1;display:flex;gap:4px}.wallpaper-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-pill);background:rgb(0 0 0/.35);color:#fff;cursor:pointer}.wallpaper-nav-btn:hover{background:rgb(0 0 0/.55)}.wallpaper-nav-btn:active{transform:translateY(1px)}.wallpaper-nav-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.widget-card[data-sky=dawn-clear]{--sky-photo:url(/weather/dawn-clear.jpg)}.widget-card[data-sky=dawn-cloudy]{--sky-photo:url(/weather/dawn-cloudy.jpg)}.widget-card[data-sky=dawn-rain]{--sky-photo:url(/weather/dawn-rain.jpg)}.widget-card[data-sky=dawn-snow]{--sky-photo:url(/weather/dawn-snow.jpg)}.widget-card[data-sky=day-clear]{--sky-photo:url(/weather/day-clear.jpg)}.widget-card[data-sky=day-cloudy]{--sky-photo:url(/weather/day-cloudy.jpg)}.widget-card[data-sky=day-rain]{--sky-photo:url(/weather/day-rain.jpg)}.widget-card[data-sky=day-snow]{--sky-photo:url(/weather/day-snow.jpg)}.widget-card[data-sky=dusk-clear]{--sky-photo:url(/weather/dusk-clear.jpg)}.widget-card[data-sky=dusk-cloudy]{--sky-photo:url(/weather/dusk-cloudy.jpg)}.widget-card[data-sky=dusk-rain]{--sky-photo:url(/weather/dusk-rain.jpg)}.widget-card[data-sky=dusk-snow]{--sky-photo:url(/weather/dusk-snow.jpg)}.widget-card[data-sky=night-clear]{--sky-photo:url(/weather/night-clear.jpg)}.widget-card[data-sky=night-cloudy]{--sky-photo:url(/weather/night-cloudy.jpg)}.widget-card[data-sky=night-rain]{--sky-photo:url(/weather/night-rain.jpg)}.widget-card[data-sky=night-snow]{--sky-photo:url(/weather/night-snow.jpg)}.live-clock-time,.now-temp,.weight-value{font-size:var(--fs-display);font-weight:650;letter-spacing:-.03em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state{display:flex;flex-direction:column;justify-content:center;gap:8px;flex:1 1;color:var(--text-muted);font-size:var(--fs-body)}.empty-state-link{font-size:var(--fs-meta)}.now-card{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:start;align-content:center}.now-card>*{min-width:0}.now-weather{grid-column:2}.live-clock{display:flex;flex-direction:column;gap:2px}.live-clock-date{font-size:var(--fs-meta);color:var(--on-accent-surface-muted)}.widget-card-title .live-clock-time{color:var(--on-accent-surface)}.now-location{font-size:var(--fs-meta);color:var(--on-accent-surface-muted)}.now-weather{display:flex;flex-direction:column;gap:2px}.now-weather-head{display:flex;align-items:center;gap:8px}.weather-icon{flex:none;width:var(--fs-display);height:var(--fs-display)}.now-condition{font-size:var(--fs-body)}.now-detail{font-size:var(--fs-meta)}.now-detail,.now-weather-empty{color:var(--on-accent-surface-muted)}.now-weather-empty{margin:0;font-size:var(--fs-body)}.now-forecast{grid-column:1;align-self:end;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin:0;padding:0;list-style:none}.now-forecast-day{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.now-forecast-weekday{font-size:var(--fs-meta);font-weight:600}.now-forecast-temp{font-size:var(--fs-meta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.now-forecast-pop{font-size:var(--fs-micro);color:var(--on-accent-surface-muted)}.now-forecast .weather-icon{width:20px;height:20px}@media (max-width:768px){:root{--fs-display:1.75rem}.now-weather-head{gap:6px}.now-forecast{gap:12px}.now-forecast-temp{font-size:var(--fs-micro)}.now-forecast .weather-icon{width:16px;height:16px}}.dashboard{padding:20px;display:flex;flex-direction:column;gap:var(--gap)}.dashboard-bottom,.dashboard-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:var(--gap);gap:var(--gap)}.dashboard-bottom{align-items:start}.dashboard-bottom>:last-child{grid-column:span 2}.dashboard-feed-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:var(--gap);gap:var(--gap)}.dashboard-feed-row>:last-child{grid-column:span 2}.dashboard-col{display:flex;flex-direction:column;gap:var(--gap)}.dashboard-bottom>*,.dashboard-col>*,.dashboard-feed-row>*,.dashboard-top>*{min-width:0}@media (max-width:768px){.dashboard{padding:16px}.dashboard-bottom,.dashboard-feed-row,.dashboard-top{grid-template-columns:1fr}.dashboard-bottom>:last-child,.dashboard-feed-row>:last-child{grid-column:auto}.app-nav-player{position:fixed;left:0;right:0;bottom:0;z-index:20;margin-top:0;padding:8px 12px;background:var(--card-bg);border-top:1px solid var(--border)}.app-nav-player-idle{display:none}.dashboard,.health,.settings{padding-bottom:96px}}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px}.login-form{width:100%;max-width:320px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-shell);padding:24px;display:flex;flex-direction:column;gap:12px}.login-form h1{margin:0 0 8px;font-size:var(--fs-h1);letter-spacing:-.02em}.login-form label{font-size:var(--fs-meta);color:var(--text-muted)}.login-form button,.login-form input{padding:10px 12px;font-size:1rem}.login-error{margin:0;color:var(--danger);font-size:var(--fs-meta)}.health,.settings,.study{max-width:880px;margin:0;padding:20px 20px 32px}.settings-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.settings-header h1{margin:0;font-size:var(--fs-h1);letter-spacing:-.02em}.settings-group{margin-bottom:24px}.settings-group-heading{margin:0 0 8px 2px;font-size:var(--fs-lead);font-weight:650;letter-spacing:-.01em}.settings-section{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px}.settings-section h3{margin:0 0 4px;font-size:var(--fs-body);font-weight:600}.settings-section p{margin:0;color:var(--text-muted);font-size:var(--fs-body)}.theme-switch{display:inline-flex;gap:4px;margin-top:8px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-sunken)}.theme-switch-option{padding:6px 14px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-size:var(--fs-body);cursor:pointer}.theme-switch-option[aria-pressed=false]:hover{color:var(--text)}.theme-switch-option[aria-pressed=true]{background:var(--accent);color:var(--on-accent-surface);font-weight:600}.theme-switch-option:active{transform:translateY(1px)}.weight-card{display:flex;flex-direction:column;gap:8px}.weight-latest{display:flex;align-items:baseline;gap:6px}.weight-unit{font-size:var(--fs-lead);color:var(--text-muted)}.weight-elapsed{margin-left:auto}.weight-elapsed,.weight-goal{font-size:var(--fs-meta);color:var(--text-muted)}.weight-goal{margin:0}.weight-empty{margin:0;color:var(--text-muted);font-size:var(--fs-body)}.sparkline{width:100%;height:auto}.sparkline text{fill:var(--text-muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}.weight-input{display:flex;gap:8px}.weight-input input{flex:1 1;padding:10px 12px;font-size:1rem}.weight-input button{padding:10px 14px;font-size:1rem;flex:none;white-space:nowrap}.weight-input-error{margin:0;color:var(--danger);font-size:var(--fs-meta)}.health section h2{margin:0 0 8px;font-size:var(--fs-lead);font-weight:650}.health-graph{overflow-x:auto;margin:12px 0}.weight-graph-empty{margin:12px 0;color:var(--text-muted);font-size:var(--fs-body)}.weight-entry-list{list-style:none;padding:0;margin:0}.weight-entry{display:flex;align-items:center;gap:8px;font-size:var(--fs-body);padding:8px 0;border-bottom:1px solid var(--border)}.weight-entry-date{color:var(--text-muted)}.weight-entry-date,.weight-entry-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weight-entry-value{margin-left:auto}.weight-entry input{width:90px;padding:6px 8px}.weight-entry button{padding:6px 10px}.goal-form{display:flex;align-items:center;gap:8px;margin-top:8px}.goal-form input{width:120px;padding:8px 10px}.goal-form button{padding:8px 12px}.goal-form-msg{font-size:var(--fs-meta);color:var(--text-muted)}.wallpaper-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.wallpaper-form-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-meta)}.wallpaper-form-row>span{min-width:92px;color:var(--text-muted)}.wallpaper-form select{padding:8px 10px;font-size:var(--fs-body)}.wallpaper-form input{width:90px;padding:8px 10px}.wallpaper-form-actions{display:flex;align-items:center;gap:8px}.wallpaper-form button{padding:8px 12px}.wallpaper-form-msg{font-size:var(--fs-meta);color:var(--text-muted)}.wallpaper-form-hint{margin:0;font-size:var(--fs-meta);color:var(--warn)}.weather-location-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.weather-location-current{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.weather-location-search{display:flex;gap:8px}.weather-location-search input{flex:1 1;padding:8px 10px}.weather-location-search button{padding:8px 12px}.weather-location-candidates{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.weather-location-candidates button{width:100%;text-align:left;padding:8px 10px}.weather-location-msg{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.stock-error-badge{color:var(--danger);font-size:var(--fs-meta)}.stock-na{font-size:var(--fs-meta);color:var(--text-muted)}.stock-tiles{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.stock-tiles.two-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:6px 16px;gap:6px 16px}.stock-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-sunken)}.stock-tile-head{margin:0;display:flex;align-items:baseline;gap:4px;font-size:var(--fs-meta);min-width:0}.stock-tile-name{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-tile-state{color:var(--text-muted);font-size:var(--fs-micro);flex:none}.stock-tile-body{display:flex;align-items:center;justify-content:space-between;gap:10px}.stock-tile-figures{display:flex;flex-direction:column;gap:1px;min-width:0}.stock-tile-price{margin:0;font-size:var(--fs-lead);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.stock-tile-change{margin:0;font-size:var(--fs-meta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stock-tile-change.up{color:var(--up)}.stock-tile-change.down{color:var(--down)}.stock-tile-change.flat{color:var(--text-muted)}.quote-chart{flex:none}.watchlist-manager{display:flex;flex-direction:column;gap:12px;margin-top:8px}.watchlist-add{display:flex;flex-wrap:wrap;gap:8px}.watchlist-add input,.watchlist-add select{padding:8px 10px;font-size:var(--fs-body)}.watchlist-add input[aria-label="심볼"]{flex:1 1;min-width:160px}.watchlist-add button{padding:8px 12px}.watchlist-msg{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.watchlist-section{display:flex;flex-direction:column;gap:4px}.watchlist-heading{margin:0;font-size:var(--fs-meta);font-weight:600;color:var(--text-muted)}.watchlist-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.watchlist-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.watchlist-actions{display:flex;gap:4px}.watchlist-actions button{padding:4px 8px;font-size:var(--fs-meta)}.watchlist-actions button:disabled{opacity:.5;cursor:not-allowed}.feed-manager{display:flex;flex-direction:column;gap:12px}.feed-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.feed-add input[type=text]{flex:1 1 140px;padding:8px 10px}.feed-add input[type=url]{flex:2 1 240px;padding:8px 10px}.feed-add input{border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-sunken);color:var(--text)}.feed-add button{padding:8px 12px;border:none;border-radius:var(--radius-inner);background:var(--accent);color:var(--on-accent);font-size:var(--fs-body);font-weight:600;cursor:pointer}.feed-add button:hover:not(:disabled){background:var(--accent-hover)}.feed-add button:active:not(:disabled){transform:translateY(1px)}.feed-add button:disabled{opacity:.5;cursor:not-allowed}.feed-colors{display:flex;gap:6px;border:none;padding:0;margin:0}.feed-colors legend{font-size:var(--fs-meta);color:var(--text-muted);padding:0 4px 0 0;float:left;line-height:24px}.feed-color-option{width:24px;height:24px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent}.feed-color-option:has(input:checked){border-color:var(--text)}.feed-color-option:has(input:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.feed-color-option input{margin:0;opacity:0;width:100%;height:100%;cursor:pointer}.feed-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.feed-item{display:flex;align-items:center;gap:8px}.feed-marker{width:4px;height:18px;border-radius:var(--radius-pill);flex:none}.feed-name{font-size:var(--fs-body)}.feed-host{font-size:var(--fs-meta);color:var(--text-muted);margin-right:auto}.feed-empty,.feed-msg{margin:0;font-size:var(--fs-body);color:var(--text-muted)}.feed-hint{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.feed-item button{padding:4px 8px;font-size:var(--fs-meta);border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--card-bg);color:var(--text);cursor:pointer}.feed-item button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-muted)}.feed-item button:active:not(:disabled){transform:translateY(1px)}.feed-item button:disabled{opacity:.5;cursor:not-allowed}.month-nav{display:flex;align-items:center;gap:2px;align-self:center}.month-nav-btn{width:24px;height:24px}.month-calendar{width:100%;border-collapse:collapse;table-layout:fixed;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-weekday{padding-bottom:4px;font-size:var(--fs-micro);font-weight:500;color:var(--text-muted)}.month-cell{padding:0;text-align:center}.month-day{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--radius-pill);font-size:var(--fs-meta);color:var(--text)}.month-calendar td:first-child .month-day:not(.today),.month-calendar td:last-child .month-day:not(.today),.month-calendar th:first-child,.month-calendar th:last-child,.month-day.holiday{color:var(--danger)}.month-day.today{background:var(--accent-soft);color:var(--on-accent);font-weight:650}.calendar-card{gap:8px}.calendar-card,.calendar-list{display:flex;flex-direction:column}.calendar-list{list-style:none;padding:0;margin:0;gap:4px}.calendar-list.allday{padding-bottom:8px;border-bottom:1px solid var(--border)}.calendar-item{display:flex;align-items:baseline;gap:6px;font-size:var(--fs-body)}.calendar-marker{width:3px;align-self:stretch;min-height:1em;border-radius:var(--radius-pill);flex:none}.calendar-time{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.calendar-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-label,.calendar-ongoing{font-size:var(--fs-micro);flex:none}.calendar-day-label{color:var(--text-muted)}.calendar-ongoing{color:var(--accent-ink)}.calendar-item.past{opacity:.5}.calendar-tomorrow{padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.calendar-empty,.calendar-more,.calendar-tomorrow-heading{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.todo-card{display:flex;flex-direction:column;gap:8px}.todo-add{display:flex;gap:6px}.todo-add input,.todo-edit input{flex:1 1 auto;min-width:0;background:var(--surface-sunken);padding:4px 8px}.todo-add button,.todo-add input,.todo-edit button,.todo-edit input{border:1px solid var(--border);border-radius:var(--radius-inner);color:var(--text);font-size:var(--fs-meta)}.todo-add button,.todo-edit button{flex:none;white-space:nowrap;padding:4px 10px;background:var(--card-bg);cursor:pointer}.todo-add button:hover:not(:disabled),.todo-edit button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-muted)}.todo-add button:active:not(:disabled),.todo-edit button:active:not(:disabled){transform:translateY(1px)}.todo-add button:disabled,.todo-edit button:disabled{opacity:.5;cursor:not-allowed}.todo-edit{display:flex;gap:4px;flex:1 1 auto;min-width:0}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.todo-list.done{padding-top:8px;border-top:1px solid var(--border)}.todo-item{display:flex;align-items:center;gap:4px;font-size:var(--fs-body)}.todo-content{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.todo-item.done .todo-content{text-decoration:line-through;color:var(--text-muted)}.todo-empty,.todo-more{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.todo-filters{display:flex;gap:4px}.todo-filters button{flex:1 1;padding:3px 0;font:inherit;font-size:var(--fs-meta);color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer}.todo-filters button:hover,.todo-filters button[aria-pressed=true]{background:var(--surface-sunken);color:var(--text)}.todo-filters button[aria-pressed=true]{border-color:var(--text-muted)}.todo-body{gap:6px;flex:1 1 auto;min-width:0}.todo-body,.todo-meta{display:flex;align-items:center}.todo-meta{gap:4px;margin:0 0 0 auto;flex:none;white-space:nowrap;font-size:var(--fs-meta);color:var(--text-muted)}.todo-star{color:var(--warn)}.todo-due.overdue{color:var(--danger)}.todo-due.today{color:var(--warn)}.todo-error{margin:0;font-size:var(--fs-meta);color:var(--danger)}.newsfeed-source-manager{display:flex;flex-direction:column;gap:12px}.newsfeed-source-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.newsfeed-source-add input{border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-sunken);color:var(--text);padding:8px 10px}.newsfeed-source-add input[type=text]{flex:1 1 140px}.newsfeed-source-add input[type=url]{flex:2 1 240px}.newsfeed-source-add button{padding:8px 12px;border:none;border-radius:var(--radius-inner);background:var(--accent);color:var(--on-accent);font-size:var(--fs-body);font-weight:600;cursor:pointer}.newsfeed-source-add button:hover:not(:disabled){background:var(--accent-hover)}.newsfeed-source-add button:active:not(:disabled){transform:translateY(1px)}.newsfeed-source-add button:disabled{opacity:.5;cursor:not-allowed}.newsfeed-source-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.newsfeed-source-item{display:flex;align-items:baseline;gap:8px}.newsfeed-source-item button{padding:4px 8px;font-size:var(--fs-meta);border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--card-bg);color:var(--text);cursor:pointer}.newsfeed-source-item button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-muted)}.newsfeed-source-item button:active:not(:disabled){transform:translateY(1px)}.newsfeed-source-item button:disabled{opacity:.5;cursor:not-allowed}.newsfeed-source-type{flex:none;font-size:var(--fs-micro);padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted)}.newsfeed-source-name{font-size:var(--fs-body)}.newsfeed-source-url{font-size:var(--fs-meta);color:var(--text-muted);margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.newsfeed-source-empty,.newsfeed-source-msg{margin:0;font-size:var(--fs-body);color:var(--text-muted)}.newsfeed-source-hint{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.newsfeed-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.newsfeed-item{display:flex;gap:10px;align-items:flex-start}.newsfeed-thumb{flex:none;width:96px;height:54px;object-fit:cover;border-radius:var(--radius-inner);background:var(--surface-sunken)}.newsfeed-body{min-width:0;display:flex;flex-direction:column;gap:2px}.newsfeed-title{font-size:var(--fs-body);color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:calc(2 * 1.45em)}.newsfeed-title:hover{text-decoration:underline}.newsfeed-meta{display:flex;flex-wrap:nowrap;align-items:baseline;gap:6px;min-width:0;font-size:var(--fs-micro);color:var(--text-muted)}.newsfeed-source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.newsfeed-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.newsfeed-new{color:var(--accent-ink);font-weight:600;letter-spacing:.02em;flex:none}.newsfeed-empty{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}@media (min-width:769px){.newsfeed-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(240px,calc(50% - 12px)),1fr));grid-gap:14px 24px;gap:14px 24px;align-items:start}}.sync-status-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sync-status-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-inner)}.sync-status-item.errored{border-color:var(--warn)}.sync-status-label{font-weight:600;font-size:var(--fs-body)}.sync-status-times{font-size:var(--fs-meta);color:var(--text-muted)}.sync-status-error{font-size:var(--fs-meta);color:var(--warn);word-break:break-word}.sync-status-empty{font-size:var(--fs-meta);color:var(--text-muted)}.shortcut-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.shortcut-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-sunken);color:var(--text);text-decoration:none;min-width:0}.shortcut-link:hover{border-color:var(--text-muted)}.shortcut-link:active{transform:translateY(1px)}.shortcut-icon{flex:none;width:20px;height:20px;object-fit:contain;border-radius:4px}.shortcut-icon-fallback{display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-micro);font-weight:600}.shortcut-name{font-size:var(--fs-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortcut-manager{display:flex;flex-direction:column;gap:12px}.shortcut-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.shortcut-add input{border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-sunken);color:var(--text);padding:8px 10px}.shortcut-add input[type=text]{flex:1 1 140px}.shortcut-add input[type=url]{flex:2 1 240px}.shortcut-add button{padding:8px 12px;border:none;border-radius:var(--radius-inner);background:var(--accent);color:var(--on-accent);font-size:var(--fs-body);font-weight:600;cursor:pointer}.shortcut-add button:hover:not(:disabled){background:var(--accent-hover)}.shortcut-add button:active:not(:disabled){transform:translateY(1px)}.shortcut-add button:disabled{opacity:.5;cursor:not-allowed}.shortcut-manager-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.shortcut-manager-item{display:flex;align-items:baseline;gap:8px}.shortcut-manager-actions{display:flex;gap:4px;flex:none}.shortcut-manager-item button{padding:4px 8px;font-size:var(--fs-meta);border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--card-bg);color:var(--text);cursor:pointer}.shortcut-manager-item button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-muted)}.shortcut-manager-item button:active:not(:disabled){transform:translateY(1px)}.shortcut-manager-item button:disabled{opacity:.5;cursor:not-allowed}.shortcut-manager-name{font-size:var(--fs-body);flex:none}.shortcut-manager-url{font-size:var(--fs-meta);color:var(--text-muted);margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortcut-empty,.shortcut-msg{margin:0;font-size:var(--fs-body);color:var(--text-muted)}.not-found{display:flex;flex-direction:column;align-items:center;gap:8px;padding:72px 20px;text-align:center}.not-found h1{margin:0;font-size:var(--fs-h1);letter-spacing:-.02em}.not-found p{margin:0;color:var(--text-muted);font-size:var(--fs-body)}.mstodo-connect{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.mstodo-connect p{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.mstodo-connect p[role=alert]{color:var(--danger)}.mstodo-connect button{padding:4px 10px;font:inherit;font-size:var(--fs-meta);color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer}.mstodo-connect button:hover:not(:disabled){background:var(--surface-sunken)}.mstodo-connect button:disabled{opacity:.5;cursor:not-allowed}.mstodo-code{font-family:var(--font-mono,monospace);font-size:var(--fs-h2);letter-spacing:.12em;color:var(--text)!important;-webkit-user-select:all;-moz-user-select:all;user-select:all}.mstodo-lists{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px}.mstodo-lists button[aria-pressed=true]{background:var(--surface-sunken);border-color:var(--text-muted)}.study-tabs{display:flex;gap:4px;margin-bottom:16px}.study-tab{padding:4px 12px;font-size:var(--fs-meta);color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-pill)}.study-tab:hover{text-decoration:none}.study-tab:hover,.study-tab[aria-current=page]{background:var(--surface-sunken);color:var(--text)}.study-tab[aria-current=page]{border-color:var(--text-muted)}.study-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.study-crumbs>*{font-size:var(--fs-meta);color:var(--text-muted)}.study-crumbs>*+:before{content:"/";margin-right:6px;color:var(--border)}.study-crumbs>[aria-current=page]{color:var(--text)}.study-files,.study-folders{list-style:none;margin:0 0 16px;padding:0}.study-file,.study-folder{display:flex;align-items:center;gap:10px;padding:10px 12px;color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-inner);margin-bottom:4px}.study-file:hover,.study-folder:hover{background:var(--surface-sunken);text-decoration:none}.study-file svg,.study-folder svg{flex-shrink:0;color:var(--text-muted)}.study-file-title,.study-folder-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-body)}.study-file-date,.study-folder-count{flex-shrink:0;font-size:var(--fs-meta);color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.study-empty{margin:0;font-size:var(--fs-body);color:var(--text-muted)}.study-viewer-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.study-viewer-head h2{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-lead);font-weight:650}.study-open{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:var(--fs-meta);color:var(--text-muted)}.study-open:hover{color:var(--text)}.study-frame{display:block;width:100%;background:#fff;color-scheme:light;border:1px solid var(--border);border-radius:var(--radius-inner);height:calc(100dvh - 200px);min-height:420px}@media (max-width:768px){.study-frame{height:calc(100dvh - 256px)}.study{padding-bottom:96px}}.study-wide{max-width:none}