@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fffbf3;--surface:#fff;--surface-2:#fff1dc;--text:#1e1a12;--muted:#5f5444;--line:#f0e2cc;--ink:#1e1a12;--focus:#0b63ce;--backdrop:#1e140a73;--tangerine:#ff7a1a;--sky:#3b9eff;--lime:#3ccb5a;--pink:#ff5fa2;--grape:#a78bfa;--sun:#ffc21a;--teal:#2cc8b8;--primary:var(--tangerine);--font:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:20px;--radius-lg:28px;--radius-pill:999px;--tap:48px;--space:16px;--shadow:0 1px 2px #50320a0f, 0 8px 28px #50320a14;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15120e;--surface:#221d17;--surface-2:#2e2720;--text:#fff6e9;--muted:#cdbfa9;--line:#3a3128;--focus:#8cc8ff;--backdrop:#0009;--shadow:0 1px 2px #0000004d, 0 8px 28px #0000004d}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:17px;line-height:1.45}#app{max-width:560px;min-height:100dvh;padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + var(--space)) calc(var(--safe-bottom) + var(--space)) calc(var(--safe-left) + var(--space));flex-direction:column;margin:0 auto;display:flex}body.has-nav #app{padding-bottom:calc(var(--safe-bottom) + 84px)}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-header{justify-content:space-between;align-items:center;min-height:52px;margin-bottom:4px;display:flex}.app-title{letter-spacing:-.03em;align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:800;display:flex}.app-title .dot{background:var(--primary);width:12px;height:12px;box-shadow:10px 0 0 var(--pink), 20px 0 0 var(--sky);border-radius:50%;margin-right:20px}.icon-btn{width:var(--tap);height:var(--tap);background:var(--surface-2);color:var(--text);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:active{transform:scale(.94)}.screens{flex-direction:column;flex:1;display:flex}.practice{flex-direction:column;flex:1;gap:14px;display:flex}.practice-top{flex-direction:column;gap:12px;min-width:0;display:flex}.btn{min-height:var(--tap);border-radius:var(--radius-pill);cursor:pointer;touch-action:manipulation;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;transition:transform .1s,background-color .15s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--ink)}.btn-dark{background:var(--text);color:var(--bg)}.btn-ghost{border-color:var(--line);color:var(--text);background:0 0}.btn-soft{background:var(--surface-2);color:var(--text)}.btn-small{min-height:44px;padding:0 16px;font-size:.95rem}.btn-big{letter-spacing:-.01em;flex:1;min-height:64px;font-size:1.2rem}.is-hidden{display:none}.segmented{background:var(--surface-2);border-radius:var(--radius-pill);border:0;gap:4px;min-width:0;margin:0;padding:4px;display:flex}.segmented:disabled{opacity:.55}.seg-item{flex:1;position:relative}.seg-item input{opacity:0;pointer-events:none;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.seg-item label{border-radius:var(--radius-pill);cursor:pointer;min-height:44px;color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 14px;font-size:.95rem;font-weight:700;display:flex}.segmented:disabled label{cursor:not-allowed}.seg-item input:checked+label{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg-item input:focus-visible+label{outline:3px solid var(--focus);outline-offset:1px}.duration-picker{width:min(100%,300px)}.duration-picker .seg-item input:checked+label{background:var(--text);color:var(--bg);box-shadow:none}.chips{min-width:0;margin:0 calc(-1 * var(--space));padding:2px var(--space);scrollbar-width:none;scroll-padding-inline:var(--space);scroll-snap-type:x proximity;border:0;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips:disabled{opacity:.55}.chip{scroll-snap-align:start;flex:none;position:relative}.chip input{opacity:0;pointer-events:none;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.chip label,.chip-add{border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--c,var(--primary)) 16%, var(--surface));min-height:44px;color:var(--text);border:0;align-items:center;gap:6px;padding:0 16px;font-size:.95rem;font-weight:700;transition:transform .1s;display:flex}.chip label:before{content:"";background:var(--c,var(--primary));border-radius:50%;width:8px;height:8px}.chip input:checked+label{background:var(--c,var(--primary));color:var(--ink)}.chip input:checked+label:before{background:var(--ink)}.chip input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}.chip-add:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.chip label:active,.chip-add:active{transform:scale(.95)}.chip-add{border:2px dashed var(--line);color:var(--muted);background:0 0;flex:none}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px 20px 14px}.topic-card{flex-direction:column;min-height:176px;display:flex}.topic-kicker{border-radius:var(--radius-pill);background:var(--c,var(--primary));color:var(--ink);align-self:flex-start;margin:0 0 12px;padding:4px 12px;font-size:.8rem;font-weight:800}.topic-kicker:empty{display:none}.topic-text{letter-spacing:-.025em;text-wrap:pretty;flex:1;margin:0;font-size:clamp(1.35rem,5.6vw,1.75rem);font-weight:750;line-height:1.25}.topic-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.topic-card.is-entering .topic-text{animation:.4s cubic-bezier(.2,.9,.3,1.2) both pop-in}.topic-card.is-loading .topic-text{color:var(--muted)}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}.note{color:var(--muted);margin:-4px 6px 0;font-size:.92rem}.media-slot{border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.timer-area{flex-direction:column;align-items:center;gap:14px;margin-top:2px;display:flex}.ring{aspect-ratio:1;width:min(52vw,210px);position:relative}.ring-svg{width:100%;height:100%}.ring-track{fill:none;stroke:color-mix(in srgb, var(--c,var(--primary)) 20%, var(--bg));stroke-width:10px}.ring-bar{fill:none;stroke:var(--c,var(--primary));stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .3s}.ring[data-state=ready] .ring-bar{stroke-dashoffset:0;transition:none}.ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.ring-digits{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(2.8rem,14vw,3.6rem);font-weight:800;line-height:1}.ring-caption{min-height:1.4em;color:var(--muted);margin-top:4px;font-size:.95rem;font-weight:600}.ring[data-state=finished] .ring-caption{color:var(--text)}.ring[data-state=paused] .ring-digits{opacity:.55}.controls{align-items:center;gap:10px;display:flex}.controls .btn-ghost{min-width:100px;min-height:64px}.round-counter{text-align:center;color:var(--muted);margin:2px 0 0;font-size:.9rem}.setup-cta{align-self:flex-start;margin-top:14px}.sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);width:100%;max-width:560px;max-height:92dvh;color:var(--text);box-shadow:var(--shadow);overscroll-behavior:contain;border:0;margin:auto auto 0;padding:0}.sheet[open]{animation:.32s cubic-bezier(.2,.9,.3,1) both sheet-up}.sheet::backdrop{background:var(--backdrop)}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-form{padding:10px calc(var(--safe-right) + 20px) calc(var(--safe-bottom) + 20px) calc(var(--safe-left) + 20px);flex-direction:column;gap:22px;display:flex}.sheet-grip{background:var(--line);border-radius:3px;width:40px;height:5px;margin:0 auto}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h2{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800}.field{flex-direction:column;gap:8px;display:flex}.field-label{font-size:.95rem;font-weight:700}.field-hint{color:var(--muted);margin:-4px 0 0;font-size:.88rem}.field-count{color:var(--muted);font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.8rem}.input,.textarea{width:100%;min-width:0;min-height:var(--tap);border:2px solid var(--line);background:var(--surface);border-radius:16px;padding:12px 16px;font-size:16px;line-height:1.4}.textarea{resize:vertical;min-height:96px}.input:focus,.textarea:focus{border-color:var(--primary);outline:none}.input::placeholder,.textarea::placeholder{color:var(--muted);opacity:.85}.pillar-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pillar-row{align-items:center;gap:10px;display:flex}.pillar-swatch{background:var(--c);border-radius:50%;flex:none;width:14px;height:14px}.pillar-remove{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.pillar-remove:active{background:var(--surface-2)}.switch-row{min-height:var(--tap);justify-content:space-between;align-items:center;gap:16px;display:flex}.switch{-webkit-appearance:none;appearance:none;background:var(--line);cursor:pointer;border-radius:16px;flex:none;width:52px;height:32px;margin:0;transition:background-color .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--lime)}.switch:checked:after{transform:translate(20px)}.sheet-actions{background:var(--bg);gap:10px;padding-top:8px;display:flex;position:sticky;bottom:0}.sheet-actions .btn{flex:1;min-height:56px}.sheet-error{color:#c2410c;margin:-10px 0 0;font-size:.9rem;font-weight:600}@media (prefers-color-scheme:dark){.sheet-error{color:#ffb27a}}.bottom-nav{padding:6px calc(var(--safe-right) + 12px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 12px);background:var(--surface);border-top:1px solid var(--line);justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{min-height:56px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:0 120px;justify-content:center;align-items:center;gap:2px;font-size:.8rem;font-weight:700;display:flex}.nav-btn[aria-current=page]{color:var(--text)}.toast-region{left:0;right:0;top:calc(var(--safe-top) + 12px);pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;border-radius:var(--radius);background:var(--text);width:100%;max-width:520px;color:var(--bg);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 8px 10px 16px;animation:.25s both drop-in;display:flex}@keyframes drop-in{0%{opacity:0;transform:translateY(-8px)}}.toast>span{flex:1;font-size:.95rem;font-weight:600}.toast-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.4rem}.install-hint{background:color-mix(in srgb, var(--sky) 18%, var(--surface));border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px 8px 14px 16px;font-size:.95rem;display:flex}.install-hint p{flex:1;margin:0}.install-hint .hint-actions{gap:8px;margin-top:10px;display:flex}.install-hint .toast-close{color:var(--muted)}@media (min-width:720px){#app{padding-top:calc(var(--safe-top) + 24px)}.chips{flex-wrap:wrap;margin:0;padding-inline-start:0;padding-inline-end:0;overflow:visible}.sheet{border-radius:var(--radius-lg);margin:auto}}.camera{color:#fff;background:#000;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;overflow:hidden}.camera::backdrop{background:#000}.camera[open]{animation:.25s both cam-in}@keyframes cam-in{0%{opacity:0}}.cam-live{position:absolute;top:0;bottom:0;left:0;right:0}.cam-preview{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.cam-preview.is-mirrored{transform:scaleX(-1)}.cam-top{padding:calc(var(--safe-top) + 10px) calc(var(--safe-right) + 12px) 0 calc(var(--safe-left) + 12px);flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.cam-topic{color:#1e1a12;text-align:left;width:100%;max-width:560px;font:inherit;cursor:pointer;background:#fffbf3f0;border:0;border-radius:22px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;display:flex;box-shadow:0 6px 24px #00000040}.cam-topic:disabled{cursor:default;opacity:1}.cam-topic.is-loading .cam-topic-text{opacity:.4}.cam-kicker{border-radius:var(--radius-pill);background:var(--c,var(--primary));color:#1e1a12;padding:3px 10px;font-size:.78rem;font-weight:800}.cam-topic-text{letter-spacing:-.02em;font-size:clamp(1.05rem,4.6vw,1.35rem);font-weight:750;line-height:1.28}.cam-topic-hint{color:#5f5444;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.cam-topic-hint[hidden]{display:none}.cam-status{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;background:#0000008c;margin:0;padding:6px 14px;font-size:1rem;font-weight:700}.cam-status.is-live:before{content:"";background:#ff4d4d;border-radius:50%;width:10px;height:10px;margin-right:8px;animation:1.2s ease-in-out infinite cam-blink;display:inline-block}@keyframes cam-blink{50%{opacity:.35}}.cam-bottom{padding:0 calc(var(--safe-right) + 20px) calc(var(--safe-bottom) + 20px) calc(var(--safe-left) + 20px);flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.cam-chip{border-radius:var(--radius-pill);color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#0000008c;border:0;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.cam-chip[hidden]{display:none}.cam-controls{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:420px;display:grid}.cam-controls>:first-child{justify-self:start}.cam-controls>:last-child{justify-self:end}.cam-round{color:#fff;cursor:pointer;background:#00000080;border:0;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.cam-round[hidden]{visibility:hidden;display:grid}.cam-record{cursor:pointer;touch-action:manipulation;background:0 0;border:5px solid #fff;border-radius:50%;place-items:center;width:84px;height:84px;display:grid}.cam-record-dot{background:#ff4d4d;border-radius:50%;width:64px;height:64px;transition:all .2s}.cam-record.is-recording .cam-record-dot{border-radius:8px;width:32px;height:32px}.cam-record:disabled{opacity:.5}.cam-record:active:not(:disabled){transform:scale(.94)}.camera :focus-visible{outline-offset:3px;outline:3px solid #8cc8ff}.cam-review{background:var(--bg);color:var(--text);padding:calc(var(--safe-top) + 10px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 16px) calc(var(--safe-left) + 16px);flex-direction:column;gap:12px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.cam-review-head{justify-content:space-between;align-items:center;display:flex}.cam-review-title{letter-spacing:-.02em;margin:0;font-size:1.4rem;font-weight:800}.cam-review-video{aspect-ratio:9/16;object-fit:contain;border-radius:var(--radius-lg);background:#000;align-self:center;width:100%;max-height:58dvh}.cam-review-meta{text-align:center;color:var(--muted);margin:0;font-weight:700}.cam-review-actions{gap:10px;display:flex}.cam-review-actions .btn{flex:1;min-height:52px}.cam-review-actions .btn[hidden]{display:none}.cam-review-hint{text-align:center;color:var(--muted);margin:-4px 0 0;font-size:.9rem}.cam-review-note{text-align:center;color:var(--muted);margin:4px 0 0;font-size:.85rem}.cam-panel{padding:calc(var(--safe-top) + 20px) 20px calc(var(--safe-bottom) + 20px);background:var(--bg);color:var(--text);place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.cam-panel-card{flex-direction:column;gap:14px;width:100%;max-width:440px;display:flex}.cam-panel-title{letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.cam-panel-body p{color:var(--muted);margin:0 0 10px;font-size:1.02rem}.cam-panel-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.cam-panel-actions .btn{min-height:56px}.camera-open{background:var(--text);width:64px;height:64px;color:var(--bg);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.camera-open:active{transform:scale(.94)}
