.scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;container-type:size;background:#05060f;isolation:isolate}.scene-stage{position:absolute;top:0;right:0;bottom:0;left:0}.scene-stage{opacity:0;transition:opacity .6s ease}.scene-stage.ready{opacity:1}.bg{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#05060f;background-size:cover;background-position:center}.message-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:max(10cqh,calc(var(--inset-top, 0px) + 2cqh)) 7cqw max(10cqh,calc(var(--inset-bottom, 0px) + 2cqh));pointer-events:none;transition:padding .35s cubic-bezier(.32,.72,0,1)}.message-box{position:relative;max-width:86cqw}.message{position:relative;margin:0;text-align:center;line-height:1.32;white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:balance}.reveal-unit{display:inline;animation-delay:var(--d, 0ms);animation-fill-mode:both}.reveal-unit.word,.reveal-unit.sweep{display:inline-block}.reveal-unit.sweep{animation-name:reveal-light;animation-duration:calc(1.1s * var(--pace, 1));animation-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes reveal-light{0%{opacity:0}to{opacity:1}}.reveal-unit.char{animation-name:reveal-ink;animation-duration:calc(.32s * var(--pace, 1));animation-timing-function:ease-out}@keyframes reveal-ink{0%{opacity:0}to{opacity:1}}.reveal-unit.word{animation-name:reveal-rise;animation-duration:calc(1.2s * var(--pace, 1));animation-timing-function:cubic-bezier(.22,1,.36,1)}@keyframes reveal-rise{0%{opacity:0;transform:translateY(.22em)}to{opacity:1;transform:none}}.reveal-whole.instant{animation:reveal-settle calc(1.8s * var(--pace, 1)) cubic-bezier(.22,1,.36,1) var(--d, 0ms) both}@keyframes reveal-settle{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.recap{animation:reveal-settle calc(1.2s * var(--pace, 1)) cubic-bezier(.22,1,.36,1) both}.recap .message+.message{margin-top:.7em}.moods{position:absolute;top:max(9cqh,calc(var(--inset-top, 0px) + 1.5cqh));left:6cqw;right:6cqw;display:flex;flex-wrap:wrap;gap:1.6cqw;pointer-events:none;opacity:0;transform:translateY(-.8cqh);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}.moods.on{opacity:1;transform:none}.mood-chip{display:inline-flex;align-items:center;gap:1.6cqw;padding:1.6cqw 3.4cqw 1.6cqw 2.6cqw;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:var(--chip-fill);font-family:Inter,system-ui,sans-serif;font-size:3.6cqw;font-weight:500;letter-spacing:.01em}.mood-emoji{font-size:4.2cqw;line-height:1}.enter-zoom .scene-stage{animation:enter-zoom 3.2s cubic-bezier(.16,1,.3,1) both}@keyframes enter-zoom{0%{transform:scale(1.16)}to{transform:none}}.enter-glow .scene-stage{animation:enter-develop 1.6s cubic-bezier(.22,1,.36,1) both}@keyframes enter-develop{0%{filter:brightness(2.2) saturate(.6)}to{filter:none}}.fx-glow{position:absolute;top:50%;left:50%;width:160cqmax;height:160cqmax;margin:-80cqmax 0 0 -80cqmax;pointer-events:none;background:radial-gradient(circle closest-side,#fffcf0,#ffe4b4d9 18%,#ffc88c59 42%,#ffbe8200 70%);animation:fx-glow 1.5s cubic-bezier(.22,1,.36,1) both}@keyframes fx-glow{0%{transform:scale(.05);opacity:0}18%{transform:scale(.45);opacity:1}to{transform:scale(1.4);opacity:0}}.fx-curtain{position:absolute;top:0;bottom:0;width:50.5%;pointer-events:none;background:repeating-linear-gradient(90deg,#00000047 0,#00000047 1.5cqw,#ffffff0d 3.5cqw,#00000047 6cqw),linear-gradient(180deg,#2a1830,#1a0f22 60%,#120a18);animation:fx-curtain-left 1.6s cubic-bezier(.65,0,.25,1) .35s both}.fx-curtain.left{left:0;box-shadow:inset -3cqw 0 4cqw #00000073}.fx-curtain.right{right:0;box-shadow:inset 3cqw 0 4cqw #00000073;animation-name:fx-curtain-right}@keyframes fx-curtain-left{to{transform:translate(-102%)}}@keyframes fx-curtain-right{to{transform:translate(102%)}}.page{transition:opacity calc(.5s * var(--pace, 1)) ease,transform calc(.5s * var(--pace, 1)) ease}.page.leaving{opacity:0;transform:translateY(-1.5cqh)}.page-measure{position:absolute;visibility:hidden;pointer-events:none;left:0;right:0;top:0}.page-dots{position:absolute;left:0;right:0;bottom:max(6cqh,calc(var(--inset-bottom, 0px) + 2cqh));display:flex;justify-content:center;gap:1.6cqw;pointer-events:none}.page-dots i{width:1.6cqw;height:1.6cqw;border-radius:1cqw;background:currentColor;opacity:.35;transition:width .4s cubic-bezier(.22,1,.36,1),opacity .4s ease}.page-dots i.on{width:5cqw;opacity:.9}.page-tap{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:pan-y}@media(prefers-reduced-motion:reduce){.scene-stage{animation:none!important}.moods{transform:none}.page{transition:opacity .6s ease;transform:none!important}.reveal-unit,.reveal-whole,.recap{animation:reveal-calm .9s ease var(--d, 0ms) both!important}}@keyframes reveal-calm{0%{opacity:0}to{opacity:1}}:root{--ink: #000;--surface: #111113;--surface-2: #1d1d21;--surface-3: #2a2a30;--line: rgba(255, 255, 255, .08);--text: #f5f5f7;--muted: rgba(245, 245, 247, .52);--accent: #ff9d5c;--ease-out: cubic-bezier(.32, .72, 0, 1);--ui-font: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--text);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0;-webkit-user-select:none;user-select:none}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:var(--ink)}.topbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 18px max(16px,env(safe-area-inset-left));background:linear-gradient(rgba(0,0,0,.38),transparent);animation:fade-in .4s ease both}.topbar.on-light{background:linear-gradient(rgba(255,255,255,.28),transparent)}.topbar.on-light .icon-btn.glass{background:#00000073;color:#fff}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar .icon-btn{width:34px;height:34px}.brand{display:flex;align-items:center;gap:8px}.brand-icon{width:28px;height:28px;border-radius:7px}.brand-word{height:17px;width:auto}.pill{height:34px;padding:0 16px 0 13px;border-radius:17px;display:inline-flex;align-items:center;gap:6px;background:var(--text);color:var(--ink);font-size:14px;font-weight:600;transition:transform .15s ease}.pill:active{transform:scale(.95)}.frame-host{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.frame{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 0 0 1px var(--line),0 18px 50px #0009;transform:translateZ(0)}.frame.bare{border-radius:0;box-shadow:none}.frame-inner{position:absolute;top:0;left:0;transform-origin:0 0}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;transition:transform .15s ease,background .2s ease}.icon-btn:active{transform:scale(.9)}.icon-btn.glass{background:#ffffff1f;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:inset 0 0 0 .5px #ffffff2e}.rotate-hint{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:none;place-items:center;padding:24px;background:var(--ink);color:var(--muted);font-size:15px;text-align:center}@media(orientation:landscape)and (max-height:500px)and (pointer:coarse){.rotate-hint{display:grid}}.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:var(--ink)}.fullscreen-bar{position:absolute;top:calc(12px + env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;justify-content:space-between;animation:fade-in .4s ease .2s both}@media(min-width:601px){.fullscreen .frame-host,.studio .frame-host{padding:24px}.fullscreen .frame.bare,.studio .frame.bare{border-radius:32px;box-shadow:0 0 0 1px var(--line)}.frame{border-radius:28px}}.dock-slot{position:absolute;left:0;right:0;bottom:0;z-index:2}.dock{position:relative;display:flow-root;background:#111113db;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);border-radius:22px 22px 0 0;box-shadow:0 -1px 0 var(--line);padding-bottom:env(safe-area-inset-bottom);min-height:92px}.toolbar{display:flex;gap:2px;overflow-x:auto;justify-content:center;padding:10px 10px 12px;animation:dock-in .32s var(--ease-out) both}.toolbar::-webkit-scrollbar{display:none}.tool{flex:1 1 0;max-width:96px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:6px 0;border-radius:14px;scroll-snap-align:start;color:var(--text);transition:transform .15s ease,background .2s ease}.tool span{font-size:11px;color:var(--muted);letter-spacing:.01em}.tool:active{transform:scale(.92);background:var(--surface-2)}.panel{animation:dock-in .36s var(--ease-out) both}@keyframes dock-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.panel-head{position:relative;height:50px;display:grid;place-items:center;padding:0 52px}.panel-title{font-size:15px;font-weight:600}.tabs{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--surface-2)}.tab{height:30px;padding:0 clamp(9px,3.4vw,14px);border-radius:999px;font-size:13px;font-weight:500;color:var(--muted);transition:background .2s ease,color .2s ease}.tab.on{background:var(--text);color:var(--ink);font-weight:600}.panel-body{animation:fade-in .25s ease both}.panel-done{position:absolute;right:max(14px,env(safe-area-inset-right));top:9px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--ink);transition:transform .15s ease}.panel-done:active{transform:scale(.88)}.panel-body{padding:2px 0 18px;min-height:150px}.panel-note{margin:12px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));font-size:12.5px;line-height:1.45;text-align:center;color:var(--muted)}.rail{display:flex;gap:12px;overflow-x:auto;padding:6px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left));scroll-padding-inline:16px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail>*{scroll-snap-align:start}.rail-wrap{position:relative}.rail-arrow{position:absolute;top:50%;width:28px;height:28px;margin-top:-22px;border-radius:50%;display:none;place-items:center;background:var(--text);color:var(--ink);box-shadow:0 2px 10px #0006;opacity:0;transition:opacity .2s ease}.rail-arrow.start{left:6px;transform:scaleX(-1)}.rail-arrow.end{right:6px}@media(hover:hover)and (pointer:fine){.rail-arrow{display:grid}.rail-wrap:hover .rail-arrow{opacity:1}}.rail>:first-child{margin-left:auto}.rail>:last-child{margin-right:auto}.tile{flex:0 0 auto;width:66px;display:flex;flex-direction:column;align-items:center;gap:8px;scroll-snap-align:start}.tile-face{position:relative;width:66px;height:66px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);box-shadow:0 0 0 0 transparent;transition:transform .18s var(--ease-out),box-shadow .2s ease}.tile.tall .tile-face{height:92px}.tile:active .tile-face{transform:scale(.93)}.tile.dim{opacity:.35}.color-swatch{width:38px;height:38px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff29}.tile.on .tile-face{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.tile-label{max-width:76px;font-size:11px;line-height:1.25;text-align:center;color:var(--muted);transition:color .2s ease}.tile.on .tile-label{color:var(--text);font-weight:600}.swatch-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.font-sample{color:var(--text);line-height:1}.mood-sample{font-size:30px;line-height:1}.mood-foot{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.mood-foot .panel-note{margin:0}.mood-form{display:flex;gap:8px;padding:8px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.mood-form input{height:46px;border:0;border-radius:14px;background:var(--surface-2);color:var(--text);font:inherit;font-size:16px;padding:0 14px}.mood-form input::placeholder{color:var(--muted)}.mood-form input:focus{outline:none;box-shadow:inset 0 0 0 1px #fff3}.mood-emoji-btn{flex:0 0 46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:24px;line-height:1}.mood-emoji-btn.on{box-shadow:inset 0 0 0 1px #ffffff59}.mood-emoji-btn.bad{box-shadow:inset 0 0 0 1px var(--accent)}.emoji-group{flex:0 0 auto;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.emoji-option{flex:0 0 44px;height:44px;border-radius:12px;font-size:26px;line-height:1;transition:transform .15s ease,background .2s ease}.emoji-option:active{transform:scale(.9)}.emoji-option.on{background:var(--surface-3);box-shadow:inset 0 0 0 1.5px var(--text)}.emoji-type{display:block;width:calc(100% - 32px);margin:6px auto 0;height:36px;border:0;border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;font-size:16px;text-align:center}.emoji-type::placeholder{color:var(--muted);font-size:13px}.emoji-type:focus{outline:none;box-shadow:inset 0 0 0 1px #fff3}.mood-label-input{flex:1;min-width:0}.mood-save{flex:0 0 auto;height:46px;padding:0 18px;border-radius:14px;background:var(--text);color:var(--ink);font-size:14px;font-weight:600}.mood-save:disabled{opacity:.35}.speed-name{margin:2px 0 10px;text-align:center;font-size:15px;font-weight:600;color:var(--text)}.speed-row{display:flex;align-items:center;gap:12px;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.speed-end{font-size:12px;color:var(--muted)}.speed-track{position:relative;flex:1;height:32px}.speed-track:before,.speed-track:after{content:"";position:absolute;left:11px;top:50%;height:3px;margin-top:-1.5px;border-radius:2px}.speed-track:before{right:11px;background:var(--surface-3)}.speed-track:after{width:calc((100% - 22px) * var(--pct) / 100%);background:var(--text)}.speed-ticks{position:absolute;top:0;right:11px;bottom:0;left:11px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:1}.speed-ticks i{width:7px;height:7px;margin:0 -3.5px;border-radius:50%;background:var(--surface-3)}.speed-ticks i.on{background:var(--text)}.speed-track input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:2;cursor:pointer}.speed-track input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000080}.speed-track input::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#fff}.speed-track input:focus-visible{outline:none}.speed-track input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--text);outline-offset:3px}.reveal-sample{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap}.reveal-sample i{font-style:normal;display:inline-block}.rs-fade{-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent 60%);mask-image:linear-gradient(90deg,#000 40%,transparent 60%);-webkit-mask-size:250% 100%;mask-size:250% 100%;animation:rs-sweep 2.6s ease-in-out infinite}@keyframes rs-sweep{0%,10%{-webkit-mask-position:100% 0;mask-position:100% 0}55%,85%{-webkit-mask-position:0 0;mask-position:0 0;opacity:1}to{-webkit-mask-position:0 0;mask-position:0 0;opacity:0}}.rs-typewriter i{animation:rs-type 2.6s steps(1) infinite both;white-space:pre}@keyframes rs-type{0%{opacity:0}8%,85%{opacity:1}to{opacity:0}}.rs-word i{animation:rs-word 2.6s var(--ease-out) infinite both}.rs-word i+i{animation-delay:.35s}@keyframes rs-word{0%{opacity:0;transform:translateY(6px)}25%,80%{opacity:1;transform:none}to{opacity:0;transform:none}}.rs-instant{animation:rs-instant 2.6s ease infinite}@keyframes rs-instant{0%{opacity:0;transform:scale(.96)}30%,80%{opacity:1;transform:none}to{opacity:0}}.entrance-sample{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#1d2a55,#10142e)}.es-glow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,245,220,.95),rgba(255,220,160,.3) 30%,transparent 60%);animation:es-glow 2.4s ease-out infinite}@keyframes es-glow{0%{transform:scale(.2);opacity:0}25%{opacity:1}70%,to{transform:scale(2.2);opacity:0}}.es-zoom:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:6px;border:1.5px solid rgba(255,255,255,.8);animation:es-zoom 2.4s var(--ease-out) infinite}@keyframes es-zoom{0%{transform:scale(1.8);opacity:0}50%,85%{transform:none;opacity:1}to{opacity:0}}.es-curtain:before,.es-curtain:after{content:"";position:absolute;top:0;bottom:0;width:50%;background:#3a3348;animation:es-curtain-l 2.4s cubic-bezier(.7,0,.2,1) infinite}.es-curtain:before{left:0;box-shadow:inset -3px 0 6px #0006}.es-curtain:after{right:0;box-shadow:inset 3px 0 6px #0006;animation-name:es-curtain-r}@keyframes es-curtain-l{0%,15%{transform:none}60%,to{transform:translate(-100%)}}@keyframes es-curtain-r{0%,15%{transform:none}60%,to{transform:translate(100%)}}.slider-row{display:flex;align-items:center;gap:14px;margin-top:16px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.slider-row label{font-size:13px;color:var(--muted)}.slider{position:relative;flex:1;display:flex;align-items:center;gap:10px}.slider input{flex:1;height:28px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(var(--text),var(--text)) 0 50% / var(--pct) 3px no-repeat,linear-gradient(var(--surface-3),var(--surface-3)) 0 50% / 100% 3px no-repeat}.slider input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000080}.slider input::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:#fff}.slider-value{width:34px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.reset{height:28px;padding:0 11px;border-radius:14px;background:var(--surface-2);font-size:12px;transition:opacity .2s ease}.reset:disabled{opacity:.35;cursor:default}.message-field{position:relative;margin:14px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));border-radius:14px;background:var(--surface-2)}.reply-chip+.message-field{margin-top:10px}.message-field textarea,.message-mirror-text{width:100%;border:0;font:inherit;font-size:16px;line-height:1.45;padding:11px 14px;white-space:pre-wrap;overflow-wrap:break-word}.message-field textarea{position:relative;display:block;border-radius:14px;resize:none;max-height:91.6px;overflow-y:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--text);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.message-field textarea::-webkit-scrollbar{width:3px}.message-field textarea::-webkit-scrollbar-track{background:transparent;margin:10px 0}.message-field textarea::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:2px}.message-mirror{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:14px;pointer-events:none}.message-mirror-text{color:transparent}.beat-break{background:linear-gradient(transparent calc(50% - .5px),rgba(255,255,255,.22) calc(50% - .5px),rgba(255,255,255,.22) calc(50% + .5px),transparent calc(50% + .5px))}.message-field textarea::placeholder{color:var(--muted)}.message-field textarea:focus{outline:none;box-shadow:inset 0 0 0 1px #fff3}.beat-warning{position:absolute;right:4px;bottom:calc(100% + 3px);font-size:11px;line-height:1;color:var(--accent)}@media(prefers-reduced-motion:reduce){.reveal-sample,.reveal-sample i,.entrance-sample:before,.entrance-sample:after,.toolbar,.panel{animation:none!important}}.sheet{padding:14px 20px calc(18px + env(safe-area-inset-bottom))}.sheet-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;margin-bottom:12px}.sheet-title{margin:0;font-size:17px;font-weight:600;text-align:center;padding:0 36px}.sheet-back{position:absolute;left:-6px;width:34px;height:34px;border-radius:17px;background:var(--surface-2);font-size:22px;line-height:1;padding-bottom:3px}.sheet-input{display:block;width:100%;height:48px;padding:0 16px;border:0;border-radius:14px;background:var(--surface-2);color:var(--text);font:inherit;font-size:17px;text-align:center}.sheet-input::placeholder{color:var(--muted)}.sheet-input:focus{outline:none;box-shadow:inset 0 0 0 1px #ffffff38}.sheet-note{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--muted);text-align:center}.sheet-note.error{color:#ff8f8f}.sheet-btn{display:block;width:100%;height:48px;margin-top:14px;border-radius:24px;background:var(--text);color:var(--ink);font-size:16px;font-weight:600;transition:transform .15s ease,opacity .2s ease}.sheet-btn:active{transform:scale(.98)}.sheet-btn:disabled{opacity:.6}.link-box{margin-top:6px}.link-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding:6px 6px 6px 14px;border-radius:14px;background:var(--surface-2)}.link-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text)}.link-copy{flex:0 0 auto;height:34px;padding:0 14px;border-radius:10px;background:var(--surface-3);font-size:13px;font-weight:600}.pill.ghost{padding:0 14px;background:#0000004d;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar.on-light .pill.ghost{background:#00000073}.pill-name{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill:disabled{opacity:.7}.toast{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));z-index:10;transform:translate(-50%);padding:9px 16px;border-radius:18px;background:#111113e6;font-size:14px;font-weight:500;animation:toast-in .25s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.notice{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px max(24px,env(safe-area-inset-left));background:var(--ink);text-align:center}.notice .sheet-btn{max-width:320px}.notice-title{margin:0;font-size:20px;font-weight:600}.notice-text{margin:10px 0 8px;max-width:320px;font-size:14px;line-height:1.5;color:var(--muted)}.send-btn{position:absolute;right:6px;bottom:6px;width:34px;height:34px;border-radius:17px;display:grid;place-items:center;background:var(--text);color:var(--ink);transition:opacity .2s ease,transform .15s ease}.send-btn:active{transform:scale(.92)}.send-btn:disabled{opacity:.25}.message-field:has(.send-btn) textarea,.message-field:has(.send-btn) .message-mirror-text{padding-right:52px}.app-row{display:flex;justify-content:space-between;gap:4px;padding:2px 4px 0}.app-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--text);font-size:12px;font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent}.app-btn svg{display:block;border-radius:15px;transition:transform .15s ease}.app-btn:active svg{transform:scale(.92)}.share-actions{display:flex;gap:8px;margin-top:16px}.share-action{flex:1;height:46px;border-radius:23px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--surface-2);color:var(--text);font-size:15px;font-weight:600;transition:transform .15s ease}.share-action:active{transform:scale(.97)}.sheet-link{display:block;margin:12px auto 0;padding:8px 12px;font-size:15px;font-weight:600;color:var(--text)}.sheet-link.with-icon{display:flex;align-items:center;gap:7px}.sheet-links{display:flex;justify-content:center;gap:8px;margin-top:12px}.sheet-links .sheet-link{display:inline-flex;align-items:center;gap:7px;margin:0;padding:8px 14px;border-radius:18px}.sheet-links .sheet-link:active{background:var(--surface-2)}.reveal-page .fullscreen-bar{align-items:center;min-height:40px}.reveal-from{display:inline-flex;align-items:center;gap:8px;margin:0;max-width:70%;padding:4px 14px 4px 4px;border-radius:18px;background:#00000052;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:13px;font-weight:500;white-space:nowrap}.reveal-from-icon{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#ffffff2e}.reveal-from-name{overflow:hidden;text-overflow:ellipsis}.end-actions{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:36px;pointer-events:none;animation:end-in .7s cubic-bezier(.22,1,.36,1) both}@keyframes end-in{0%{opacity:0;transform:scale(.96)}}.end-btn{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;font-size:14px;font-weight:600}.end-btn-circle{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#00000052;-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:inset 0 0 0 1px #ffffff29;transition:transform .15s ease}.end-btn.primary .end-btn-circle{background:#fff;color:#000;box-shadow:none}.end-btn:active .end-btn-circle{transform:scale(.93)}.end-btn-label{padding:3px 10px;border-radius:10px;background:#00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.reply-chip{display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin:14px auto 0;padding:5px 6px 5px 12px;border-radius:14px;background:var(--surface-2);font-size:13px;color:var(--text)}.reply-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-chip button{flex:0 0 auto;width:22px;height:22px;border-radius:11px;display:grid;place-items:center;background:var(--surface-3)}.list-page{min-height:100dvh;max-width:560px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:var(--ink)}.list-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;margin-bottom:18px}.list-head h1{margin:0;font-size:17px;font-weight:600}.list-back{position:absolute;left:0;width:36px;height:36px;border-radius:18px;display:grid;place-items:center;background:var(--surface-2);color:var(--text)}.list-back svg{transform:scaleX(-1)}.list-empty{margin:18vh auto 0;max-width:300px;text-align:center;color:var(--muted);font-size:15px}.list-empty p{margin:0}.list-note{margin:0;color:var(--muted);font-size:14px}.list-section{margin:28px 0 10px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.stat{padding:14px 8px 12px;border-radius:16px;background:var(--surface);text-align:center}.stat b{display:block;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.stat span{font-size:12px;color:var(--muted)}.ember-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ember-item{display:block;padding:14px 16px;border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;transition:transform .15s ease}.ember-item:active{transform:scale(.985)}.ember-text{margin:0;font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ember-meta{margin:6px 0 0;font-size:12px;color:var(--muted)}.ember-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:12px;background:var(--surface-2);font-size:12px;color:var(--muted)}.tag.on{color:var(--text)}.tag.on svg{color:var(--accent)}.admin-key{max-width:320px;margin:16vh auto 0}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kpi{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;background:var(--surface)}.kpi-label{font-size:13px;line-height:1.3;color:var(--muted)}.kpi b{font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.kpi-sub{font-size:12px;color:var(--muted)}.facts{margin:0;border-radius:16px;background:var(--surface);overflow:hidden}.facts div{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:14px}.facts div+div{border-top:1px solid var(--surface-2)}.facts dt{color:var(--muted)}.facts dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.facts small{margin-left:6px;font-weight:400;color:var(--muted)}.bars{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bars li{display:grid;grid-template-columns:92px 1fr 36px;align-items:center;gap:10px;font-size:14px}.bar-label{color:var(--muted);white-space:nowrap}.bar-track{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:4px;background:var(--accent)}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.days{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.days th{padding:0 0 8px;font-size:12px;font-weight:500;color:var(--muted);text-align:right}.days td{padding:9px 0;border-top:1px solid var(--surface-2);text-align:right}.days th:first-child,.days td:first-child{text-align:left}.lang-toggle{color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}.list-head .lang-toggle{position:absolute;right:0;width:36px;height:36px;background:var(--surface-2);color:var(--text);box-shadow:none}.home-bar{align-items:center}.home-card{position:absolute;left:0;right:0;bottom:0;padding:22px max(22px,env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#111113db;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);box-shadow:0 -1px 0 var(--line);text-align:center;animation:fade-in .6s ease .3s both}@media(min-width:601px){.home-card{left:50%;right:auto;width:420px;transform:translate(-50%);bottom:24px;border-radius:22px}}.home-card h1{margin:0;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.01em}.home-card p{margin:10px auto 4px;max-width:340px;font-size:15px;line-height:1.45;color:var(--muted)}.home-card .sheet-btn{margin-top:18px}.home-link{display:inline-block;margin-top:12px;padding:4px 8px;font-size:13px;color:var(--muted);text-decoration:none}.privacy-intro{margin:0 0 4px;font-size:16px;line-height:1.5}.privacy-list{margin:0;padding-left:18px;display:grid;gap:8px}.privacy-list li,.privacy-text{font-size:15px;line-height:1.5;color:var(--muted)}.privacy-text{margin:0}.privacy-text a{color:var(--text)}.sheet-privacy{display:block;margin-top:12px;text-align:center;font-size:13px;color:var(--muted);text-decoration:none}.home-page .page-dots{display:none}.admin-day{margin:-10px 0 16px;text-align:center;font-size:13px;color:var(--muted)}.seed-card{padding:16px;border-radius:18px;background:var(--surface)}.seed-card label{display:block;font-size:14px;font-weight:600}.seed-row{display:flex;gap:8px;align-items:center;margin-top:10px}.seed-input{flex:1;min-width:0;height:44px;padding:0 14px;border:0;border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.seed-input:focus{outline:none;box-shadow:inset 0 0 0 1px #ffffff40}.seed-row .pill{height:44px;border-radius:22px;padding:0 18px}.seed-help{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.targets-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.targets-score{font-size:13px;color:var(--muted)}.focus-card{margin-bottom:10px;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.focus-card.good{background:color-mix(in srgb,#5fd49a 12%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,#5fd49a 30%,transparent)}.focus-label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.focus-card b{display:block;margin-top:4px;font-size:16px;font-weight:600}.focus-card p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--text);opacity:.85}.focus-card.good p{margin:0}.target-list{list-style:none;margin:0;padding:0;border-radius:16px;background:var(--surface);overflow:hidden}.target{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 16px}.target+.target{border-top:1px solid var(--surface-2)}.target-text{display:flex;flex-direction:column;gap:2px;min-width:0}.target-name{font-size:14px}.target-goal{font-size:12px;color:var(--muted)}.target-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.target-value{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.target-status{font-size:11px;font-weight:600}.target-status.met{color:#5fd49a}.target-status.below{color:var(--accent)}.target-status.early{color:var(--muted)}.target-bar{grid-column:1 / -1;height:4px;margin-top:6px;border-radius:2px;background:var(--surface-2);overflow:hidden}.target-bar span{display:block;height:100%;border-radius:2px}.target-bar .met{background:#5fd49a}.target-bar .below{background:var(--accent)}.target-bar .early{background:var(--muted)}.targets-note{margin-top:8px;font-size:12px}.facts-gap{margin-top:8px}.dash{display:flex;flex-direction:column}.dash-col{display:contents}.dash .seed-card{order:1}.dash .targets{order:2}.dash-embers{order:3}.dash-shares{order:4}.dash-countries{order:5}.dash-days{order:6}.dash .targets-head .list-section{margin-top:28px}.dash-top{display:none}@media(min-width:960px){.admin-page{max-width:1240px;padding-left:32px;padding-right:32px}.admin-page .list-head{justify-content:flex-start;margin-bottom:2px}.admin-page .list-head h1{font-size:24px;letter-spacing:-.01em}.admin-page .admin-day{margin:0 0 24px;text-align:left}.dash{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.dash-top{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0}.dash-top div{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:16px 18px;border-radius:18px;background:var(--surface)}.dash-top dt{font-size:13px;line-height:1.3;color:var(--muted)}.dash-top dd{margin:0;font-size:32px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.dash-top small{margin-left:4px;font-size:14px;font-weight:500;color:var(--muted)}.dash-col{display:flex;flex-direction:column;gap:20px;min-width:0}.dash .dash-col>*{order:0}.dash .list-section,.dash .targets-head .list-section{margin-top:0}.dash-days,.dash-shares,.dash-countries{padding:18px 20px;border-radius:18px;background:var(--surface)}.dash-days .days td,.dash-countries .days td{border-top-color:var(--surface-2)}.dash-embers .facts{background:var(--surface)}.dash .focus-card{margin-bottom:12px;padding:18px 20px}.dash .focus-card b{font-size:19px}.dash .target-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;background:none;border-radius:0;overflow:visible}.dash .target{align-content:start;padding:16px 18px;border-radius:16px;background:var(--surface)}.dash .target+.target{border-top:0}.dash .target-value{font-size:26px}.dash .targets-head{margin-bottom:10px}}.age-check{display:flex;align-items:flex-start;gap:10px;margin:14px 2px 0;font-size:13px;line-height:1.45;color:var(--muted);text-align:left;cursor:pointer}.age-check input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--accent)}.age-check a{color:var(--text)}.home-links{display:flex;justify-content:center;gap:4px}.terms-contact{margin-top:28px}.reveal-report{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);padding:6px 12px;border-radius:14px;background:#00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fffc;font-size:12px;text-decoration:none;animation:fade-in .4s ease both}.remove-input{font-size:15px;font-weight:500}.pill.danger{background:#ff6b6b;color:#fff}.seed-help.error{color:#ff8f8f}.dash .remove-card{order:7}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0000008c;animation:fade-in .2s ease both}.confirm{width:100%;max-width:320px;padding:22px 20px 14px;border-radius:22px;background:var(--surface);text-align:center;box-shadow:0 0 0 1px var(--line)}.confirm h2{margin:0;font-size:18px;font-weight:600}.confirm p{margin:8px 0 18px;font-size:14px;line-height:1.45;color:var(--muted)}.confirm .confirm-leave{margin-top:6px;color:#ff8f8f}
