:root{--font-display:"Songti SC", STSong, "Noto Serif CJK SC", Georgia, serif;--font-body:"Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;--ink:#f4e8d6;--muted:#f4e8d6ad;--accent:#c47a4a;--accent-bright:#e0925c;--research:#6fc3d8;--scroll-track:#121816;--scroll-thumb:#f4e8d638;--scroll-thumb-hover:#c47a4a8c;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#121816}button,input{font:inherit}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);background-clip:padding-box;border-radius:999px}.page{min-height:100svh;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(2.5rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden auto}.atmosphere{z-index:-1;background:radial-gradient(90% 70% at 15% 10%,#c47a4a47,#0000 55%),radial-gradient(70% 60% at 85% 20%,#2e6b5e59,#0000 50%),radial-gradient(80% 50% at 50% 100%,#1c3a488c,#0000 60%),linear-gradient(165deg,#1a2420 0%,#121816 45%,#0e1418 100%);position:fixed;inset:0}.atmosphere:after{content:"";opacity:.45;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");position:absolute;inset:0}.brand{text-align:center;margin-bottom:clamp(3.25rem,9vh,5.5rem);animation:.9s cubic-bezier(.22,1,.36,1) both rise}.brand-mark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.65rem,4.5vw,2.15rem);font-weight:600;line-height:1}.brand-line{font-family:var(--font-body);letter-spacing:.01em;color:var(--muted);margin:.3rem 0 0;font-size:clamp(.82rem,1.6vw,.95rem);font-weight:400}.brand-link{vertical-align:middle;color:var(--ink);font:inherit;cursor:pointer;background:#f4e8d60f;border:none;border-radius:999px;align-items:center;gap:.35rem;margin-left:.15rem;padding:.28rem .7rem .28rem .5rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s,box-shadow .2s;display:inline-flex;box-shadow:inset 0 0 0 1px #f4e8d62e}.brand-link:hover{background:#c47a4a24;box-shadow:inset 0 0 0 1px #c47a4a8c}.brand-link:focus-visible,.btn:focus-visible,.settings-trigger:focus-visible,.niche-trigger:focus-visible,.mode-option:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.stage{text-align:center;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,4vw,2.25rem);width:min(720px,100%);animation:1s cubic-bezier(.22,1,.36,1) .12s both rise;display:flex}.stage-body{flex-direction:column;align-items:center;gap:clamp(1.5rem,4vw,2.25rem);width:100%;display:flex}.controls{flex-direction:column;align-items:center;gap:.7rem;width:100%;display:flex}.mode-switch{background:#f4e8d60d;border-radius:999px;padding:.25rem;display:flex;position:relative;box-shadow:inset 0 0 0 1px #f4e8d62e}.mode-switch.is-disabled{opacity:.45}.mode-thumb{width:calc(50% - .25rem);transform:translateX(calc(var(--i,0) * 100%));background:#c47a4ae6;border-radius:999px;transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;top:.25rem;bottom:.25rem;left:.25rem;box-shadow:0 6px 18px #c47a4a40}.mode-option{z-index:1;appearance:none;white-space:nowrap;cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.05rem;font-size:.92rem;font-weight:600;transition:color .2s;display:flex;position:relative}.mode-option.is-active{color:#1a1612}.mode-emoji{font-size:1rem;line-height:1}.mode-blurb{max-width:42ch;color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.niche-select{z-index:5;width:min(100%,280px);position:relative}.niche-trigger{appearance:none;cursor:pointer;width:100%;color:var(--ink);background:#f4e8d60d;border:none;border-radius:999px;align-items:center;gap:.65rem;padding:.7rem .95rem;font-size:.92rem;font-weight:550;transition:background .2s,box-shadow .2s;display:flex;box-shadow:inset 0 0 0 1px #f4e8d62e}.niche-trigger:disabled{opacity:.45;cursor:not-allowed}.niche-trigger:not(:disabled):hover{background:#f4e8d614;box-shadow:inset 0 0 0 1px #f4e8d652}.niche-select.is-open .niche-trigger{background:#c47a4a14;box-shadow:inset 0 0 0 1px #c47a4a8c}.niche-emoji{text-align:center;flex-shrink:0;width:1.35rem;font-size:1.05rem;line-height:1}.niche-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.niche-caret{color:var(--muted);transition:transform .2s}.niche-select.is-open .niche-caret{transform:rotate(180deg)}.niche-menu{background:#161c1a;border-radius:1rem;max-height:min(50vh,360px);margin:0;padding:.35rem;animation:.22s cubic-bezier(.22,1,.36,1) both menu-in;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow-y:auto;box-shadow:inset 0 0 0 1px #f4e8d61f,0 18px 40px #0000008c}.niche-option{appearance:none;cursor:pointer;width:100%;color:var(--muted);text-align:left;background:0 0;border:none;border-radius:.75rem;align-items:center;gap:.55rem;padding:.72rem .75rem;font-size:.9rem;transition:color .15s,background .15s;display:flex}.niche-option:hover,.niche-option.is-selected{color:var(--ink);background:#f4e8d60f}.reel{flex-direction:column;justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:clamp(10rem,26vw,14rem);display:flex}.reel-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem;font-weight:650}.reel-phrase{max-width:14ch;font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(3.4rem,11vw,5.75rem);font-weight:600;line-height:1.02}.reel.is-spinning .reel-phrase{opacity:.88;animation:80ms tick-flash}.reel.is-landed .reel-phrase{animation:.55s cubic-bezier(.22,1,.36,1) both topic-in}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.actions,.actions-main{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.btn{appearance:none;cursor:pointer;letter-spacing:.01em;border:none;border-radius:999px;padding:.9rem 1.35rem;font-size:.95rem;font-weight:600;transition:transform .2s,background .2s,color .2s,opacity .2s,box-shadow .2s}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:#1a1612;box-shadow:0 10px 28px #c47a4a47}.btn.primary:not(:disabled):hover{background:var(--accent-bright)}.btn.secondary{color:var(--ink);background:0 0;box-shadow:inset 0 0 0 1.5px #f4e8d647}.btn.secondary:not(:disabled):hover{background:#f4e8d60a;box-shadow:inset 0 0 0 1.5px #f4e8d68c}.btn.ghost{color:var(--muted);text-underline-offset:3px;background:0 0;border-radius:0;padding:.4rem .75rem;font-size:.85rem;font-weight:500;text-decoration:underline}.settings-trigger{appearance:none;cursor:pointer;width:2.55rem;height:2.55rem;color:var(--muted);background:#f4e8d60d;border:none;border-radius:999px;place-items:center;padding:0;transition:color .2s,background .2s,box-shadow .2s;display:grid;box-shadow:inset 0 0 0 1px #f4e8d62e}.settings-trigger:hover{color:var(--ink);background:#c47a4a1a;box-shadow:inset 0 0 0 1px #c47a4a80}.settings-overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(70% 55% at 50% 45%,#c47a4a1a,#0000 60%),radial-gradient(90% 80% at 50% 100%,#1c3a4847,#0000 55%),#0a0e0d8c;place-items:center;padding:clamp(1rem,4vw,2rem);animation:.35s cubic-bezier(.22,1,.36,1) both overlay-in;display:grid;position:fixed;inset:0}.settings-panel{text-align:left;background:#161c1a;border-radius:1.25rem;width:min(420px,100%);padding:1.35rem 1.4rem 1.25rem;animation:.4s cubic-bezier(.22,1,.36,1) both rise;box-shadow:inset 0 0 0 1px #f4e8d61f,0 24px 60px #0000008c}.settings-panel-head{margin-bottom:1.15rem}.settings-panel-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.55rem;font-weight:600}.settings-panel-blurb{color:var(--muted);margin:.35rem 0 0;font-size:.88rem}.duration-field{display:block}.duration-field+.duration-field{margin-top:1.25rem}.duration-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.duration-head>span:first-child{align-items:baseline;gap:.5rem;display:flex}.duration-label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:650}.duration-hint{color:var(--muted);font-size:.7rem}.duration-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600}.duration-slider{appearance:none;cursor:pointer;width:100%;height:.35rem;accent-color:var(--accent);background:#f4e8d61f;border-radius:999px;outline:none;margin:0}.duration-ends{color:var(--muted);justify-content:space-between;margin-top:.45rem;font-size:.72rem;display:flex}.settings-mute{color:var(--ink);align-items:center;gap:.65rem;margin-top:1.15rem;font-size:.92rem;display:flex}.settings-mute input{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer}.settings-note{color:var(--muted);margin:1rem 0 0;font-size:.78rem}.settings-done{width:100%;margin-top:1rem}.timer-overlay{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(70% 55% at 50% 45%,#c47a4a29,#0000 60%),radial-gradient(90% 80% at 50% 100%,#1c3a4873,#0000 55%),#0a0e0df0;place-items:center;padding:1.5rem;animation:.55s cubic-bezier(.22,1,.36,1) both overlay-in;display:grid;position:fixed;inset:0}.timer-overlay-inner{text-align:center;flex-direction:column;align-items:center;gap:clamp(.85rem,2.5vh,1.5rem);width:min(920px,100%);max-height:100%;animation:.65s cubic-bezier(.22,1,.36,1) 80ms both rise;display:flex;overflow-y:auto}.timer-topic{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0;font-size:clamp(.85rem,2vw,1.05rem);font-weight:500}.timer-phase{letter-spacing:.16em;text-transform:uppercase;color:var(--research);margin:0;font-size:.72rem;font-weight:650}.timer-ring{--p:0;background:radial-gradient(circle at center,#141a17 62%,transparent 63%),conic-gradient(var(--accent) calc(var(--p) * 1turn),#f4e8d61f 0);border-radius:50%;place-items:center;width:min(62vw,52vh,380px);height:min(62vw,52vh,380px);transition:background .15s linear;display:grid}.timer-overlay.is-waiting .timer-ring{filter:saturate(.55)}.timer-overlay.is-live:not(.is-waiting) .timer-digits{color:var(--accent-bright)}.timer-overlay.is-done .timer-ring{animation:.8s pulse-done}.timer-digits{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,14vw,7rem);font-weight:600;line-height:1}.timer-status{color:var(--muted);margin:0;font-size:clamp(1rem,2.5vw,1.25rem)}.timer-next{color:var(--muted);margin:0;font-size:.9rem}.timer-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.timer-overlay.is-research .timer-ring{background:radial-gradient(circle at center,#141a17 62%,transparent 63%),conic-gradient(var(--research) calc(var(--p) * 1turn),#f4e8d61f 0)}.timer-overlay.is-research:not(.is-waiting) .timer-digits{color:var(--research)}.speech-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:min(100%,560px);margin:0;padding:0;list-style:none;display:grid}.speech-stage{min-height:3rem;color:var(--muted);background:#f4e8d60a;border-radius:1rem;justify-content:center;align-items:center;padding:.75rem .6rem;transition:background .35s,box-shadow .35s,color .35s,transform .35s;display:flex;box-shadow:inset 0 0 0 1px #f4e8d629}.speech-stage.is-hit{color:#b7efc5;background:#489e6e38;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #6ec48c8c,0 0 24px #489e6e2e}.speech-stage-label{font-size:clamp(.85rem,2.2vw,1.05rem);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes topic-in{0%{opacity:.65;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tick-flash{0%{opacity:.55;transform:translateY(4px)}to{opacity:.88;transform:translateY(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse-done{0%,to{transform:scale(1)}40%{transform:scale(1.06)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@media (width<=600px){.page{padding-inline:1rem}.brand{margin-bottom:clamp(2.8rem,8vh,4rem)}.mode-option{padding-inline:.8rem;font-size:.84rem}.mode-blurb{max-width:34ch}.reel{min-height:12rem}.reel-phrase{font-size:clamp(2.75rem,14vw,4.4rem)}.actions{gap:.6rem}.actions-main{gap:.55rem}.btn{padding:.82rem 1.1rem;font-size:.88rem}}@media (prefers-reduced-motion:reduce){.brand,.stage,.reel.is-landed .reel-phrase,.reel.is-spinning .reel-phrase,.timer-overlay,.timer-overlay-inner,.settings-overlay,.settings-panel,.niche-menu{animation:none!important}}.page{min-height:100dvh;padding-block:max(2rem, env(safe-area-inset-top,0px)) max(2.5rem, env(safe-area-inset-bottom,0px));place-items:center;display:grid}.page-content{flex-direction:column;align-items:center;width:min(720px,100%);padding-block:clamp(1rem,3vh,2.5rem);display:flex}.brand{margin-bottom:clamp(4.5rem,9vh,6.5rem)}.stage{flex:none;gap:clamp(2rem,4.5vh,3rem)}.stage-body{gap:clamp(2.25rem,5vh,3.5rem)}.controls{gap:.9rem}.reel{min-height:clamp(12rem,28vw,16rem)}.actions{margin-top:.15rem}@media (width<=600px){.page{padding-block:max(1.5rem, env(safe-area-inset-top,0px)) max(2.5rem, env(safe-area-inset-bottom,0px));display:block}.page-content{justify-content:center;min-height:calc(100dvh - 4rem);padding-block:1rem}.brand{margin-bottom:clamp(3.75rem,8vh,5rem)}.stage-body{gap:clamp(2rem,5vh,3rem)}.reel{min-height:clamp(11rem,28vh,14rem)}}
