.voice-control{text-align:center;position:relative}.voice-control-home{position:absolute;z-index:12;left:50%;bottom:max(2.5rem,calc(env(safe-area-inset-bottom) + 1.5rem));transform:translate(-50%);width:min(330px,calc(100% - 32px))}.voice-orbit{display:flex;align-items:center;justify-content:center;gap:17px;position:relative;width:fit-content;margin:0 auto}.voice-mic{display:grid;place-items:center;width:94px;height:94px;flex-shrink:0;border-radius:50%;border:4px solid #fff9f6;color:#fff;background:radial-gradient(circle at 35% 20%,#6588b8,#355b8e 65%,#294971);box-shadow:0 0 0 3px #f5b7cf,0 0 22px #ffd1dfb0,0 8px 18px #573b3538,inset 0 2px 8px #ffffff45;transition:transform .2s,box-shadow .2s;cursor:pointer}.voice-mic:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 0 0 3px #f5b7cf,0 0 30px #ffd1df,0 10px 20px #573b3540}.voice-mic:active:not(:disabled){transform:scale(.96)}.voice-mic:focus-visible{outline:3px solid #2c4c77;outline-offset:8px}.voice-mic:disabled{opacity:.8;cursor:not-allowed}.voice-mic>svg{width:39px;height:39px;stroke-width:1.9}.voice-wave{display:flex;align-items:center;justify-content:center;gap:4px;width:45px;height:48px}.voice-wave span{width:3px;flex-shrink:0;border-radius:8px;background:linear-gradient(#ffe0ed,#f19abc);box-shadow:0 0 8px #ffafd1a0;transition:height 70ms linear}.voice-wave-right{flex-direction:row-reverse}.voice-heart{position:absolute;width:24px;height:24px;top:1px;right:53px;fill:#ed91b3;stroke:#fff7f9;stroke-width:2.5;transform:rotate(18deg);filter:drop-shadow(0 2px 3px #b8798b55);pointer-events:none}.voice-sparkle{position:absolute;bottom:3px;left:52px;width:19px;height:19px;fill:#ffe7a9;stroke:#ffefcd;filter:drop-shadow(0 0 4px #ffb979);pointer-events:none}.voice-control-home[data-recording=true] .voice-mic,.voice-control-home[data-recording=true] .voice-heart,.voice-control-home[data-recording=true] .voice-sparkle{display:none}.voice-control-home[data-recording=true] .voice-orbit{gap:6px}.voice-control[data-recording=true] .voice-mic{background:radial-gradient(circle at 35% 20%,#c67d9a,#99536e 70%,#754358);box-shadow:0 0 0 3px #ffd1df,0 0 25px #f7a9c2,0 8px 18px #573b3538}.voice-error{border:1px solid #e8bfc1;border-radius:14px;background:#fff8f1f5;color:#8f5058;font-size:.75rem;padding:10px 14px;text-shadow:none;margin:12px 0 0}.voice-spinner{animation:voice-spin 1.2s linear infinite}@keyframes voice-spin{to{transform:rotate(360deg)}}@media(max-height:700px){.voice-control-home{bottom:max(1rem,env(safe-area-inset-bottom))}.voice-control-home .voice-mic{width:78px;height:78px}}@media(min-width:1000px)and (min-height:701px){.voice-control-home{bottom:3rem}.voice-mic{width:104px;height:104px}}@media(prefers-reduced-motion:reduce){.voice-spinner{animation:none}.voice-wave span,.voice-mic{transition:none}}.linh-speech-bubble{position:absolute;z-index:15;left:50%;bottom:max(168px,calc(env(safe-area-inset-bottom) + 154px));transform:translate(-50%);width:min(348px,calc(100% - 28px));background:#fffcf5f2;backdrop-filter:blur(8px);border:1.5px solid #efd6be;border-radius:18px;padding:10px 14px 11px;box-shadow:0 10px 24px #54342224,0 2px 6px #5434220f,inset 0 1px #ffffffe6;color:#463529;animation:linh-bubble-pop .24s cubic-bezier(.22,1,.36,1);transition:bottom .2s ease,opacity .2s ease}.linh-speech-bubble[data-session-active=true]{bottom:max(120px,calc(env(safe-area-inset-bottom) + 110px))}.linh-bubble-tail{position:absolute;top:-7px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#fffcf5;border-top:1.5px solid #efd6be;border-left:1.5px solid #efd6be}.linh-bubble-header{display:flex;align-items:center;gap:8px;margin-bottom:5px}.linh-bubble-title{display:inline-flex;align-items:center;gap:4px;font:italic 600 .8125rem/1.1 Georgia,serif;color:#b85d79;flex-shrink:0}.linh-bubble-heart{fill:#f095b4;color:#d97396}.linh-bubble-sparkle{color:#e6a84c}.linh-bubble-status{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#faeedf;color:#7d5945;flex-shrink:0;border:1px solid #ebd0bc}.linh-bubble-status.status-speaking{background:#fde8ef;color:#b33965;border-color:#f7becf}.linh-bubble-status.status-writing{background:#fdf2de;color:#9c631a;border-color:#f3d7a8}.linh-bubble-status.status-text{background:#f4ecf8;color:#7b4c8d;border-color:#e4cbe9}.linh-bubble-status.status-listening{background:#edf5ea;color:#4b7345;border-color:#c9e0c3}.linh-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:status-pulse 1.2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.linh-bubble-transcript{display:inline-flex;align-items:center;gap:4px;flex:1;min-width:0;padding:2px 8px;background:#f8eee0;border-radius:999px;font-size:.7rem;color:#846c5a}.linh-transcript-icon{flex-shrink:0;color:#c27892}.linh-transcript-text{font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linh-bubble-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.linh-bubble-debug-btn,.linh-bubble-close{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:22px;border-radius:999px;border:1px solid #ead8c5;background:#fff8ef;color:#8b7361;cursor:pointer;padding:0 6px;font-size:.65rem;transition:background .15s,color .15s}.linh-bubble-close{width:22px;padding:0}.linh-bubble-debug-btn:hover,.linh-bubble-close:hover{background:#f5e8d7;color:#523d2e}.linh-bubble-tool-badge{background:#fce4ec;color:#b34e71;border-radius:999px;padding:0 4px;font-weight:600;font-size:.625rem}.linh-bubble-input-btn{display:inline-flex;align-items:center;gap:3px;height:22px;border-radius:999px;border:1px solid #ebd0bc;background:#fff6ea;color:#8c5738;cursor:pointer;padding:0 7px;font-size:.68rem;font-weight:600;transition:all .15s}.linh-bubble-input-btn:hover{background:#fae4cd;color:#693e23;border-color:#dfba9e}.linh-bubble-composer{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:7px;border-top:1px dashed rgba(220,190,160,.45)}.linh-composer-input{flex:1;min-width:0;border:1px solid #ebd0bc;border-radius:14px;background:#fffdfa;padding:6px 11px;font-size:.8125rem;color:#4b3627;outline:none;transition:border-color .15s,box-shadow .15s}.linh-composer-input:focus{border-color:#d8839d;box-shadow:0 0 0 2px #d8839d2e}.linh-composer-input::placeholder{color:#a89182;font-style:italic;font-size:.775rem}.linh-composer-send{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:0;background:#e27394;color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s,transform .1s}.linh-composer-send:hover:not(:disabled){background:#cc5c7f;transform:scale(1.05)}.linh-composer-send:disabled{background:#e8d0d4;cursor:not-allowed;opacity:.6}.linh-bubble-body{display:flex;flex-direction:column;gap:4px}.linh-user-transcript{width:80%;max-width:80%;padding-left:10px;border-left:2px solid #eabcc9;font-size:.74rem;line-height:1.38;font-style:italic;color:#725746;overflow-wrap:anywhere;margin:1px 0 3px}.linh-user-prefix{font-weight:600;font-style:normal;color:#a46175}.linh-user-speech{font-style:italic}.linh-bubble-reply{margin:0;font-size:.86rem;line-height:1.45;color:#3f2f23;max-height:80px;overflow-y:auto;overflow-wrap:anywhere;text-align:left}.linh-status-sub{margin:0;color:#634f41;font-style:italic;font-size:.825rem}.linh-bubble-reply p{margin:0 0 4px}.linh-bubble-reply p:last-child{margin-bottom:0}.linh-bubble-reply ul,.linh-bubble-reply ol{margin:2px 0;padding-left:1.1rem}.linh-bubble-debug-panel{margin-top:6px;padding:6px 9px;background:#f6ede0;border-radius:10px;font-size:.68rem;color:#6b5646;display:flex;flex-direction:column;gap:2px;text-align:left}.linh-debug-row{display:flex;gap:5px;align-items:baseline;overflow-wrap:anywhere}.linh-debug-row strong{color:#4f3d2f;flex-shrink:0}.linh-debug-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#efe2d0;padding:0 4px;border-radius:4px}@keyframes linh-bubble-pop{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media(max-height:700px){.linh-speech-bubble{bottom:148px;padding:8px 12px}.linh-speech-bubble[data-session-active=true]{bottom:108px}.linh-bubble-reply{font-size:.8rem;max-height:64px}}.loading-scene{position:fixed;inset:0;z-index:1000;height:100dvh;overflow:hidden;isolation:isolate;background:#f1d2ad;color:#71503a;opacity:1;transition:opacity .42s ease}.loading-art-stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.loading-door-art,.loading-door-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.loading-door-video{opacity:0}.loading-door-video.is-playing,.loading-door-video.is-scrubbing{opacity:1}.loading-bottom-shade{position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#f3d6b548 22%,#fae8cecc);pointer-events:none}.loading-copy{position:absolute;z-index:2;bottom:max(2.1rem,calc(env(safe-area-inset-bottom) + 1.5rem));left:50%;transform:translate(-50%);width:min(380px,calc(100% - 40px));text-align:center}.loading-eyebrow{display:inline-flex;gap:7px;align-items:center;color:#947357;font-size:.5625rem;font-weight:600;letter-spacing:.16em}.loading-eyebrow svg{color:#c88291;fill:#eebac580}.loading-copy h1{font:italic 1.6rem/1.3 Georgia,serif;color:#735038;margin:11px 0 6px;text-shadow:0 1px 1px #fff9e9}.loading-copy>p{color:#947056;margin:0;font-size:.75rem;line-height:1.5}.loading-progress{width:136px;height:4px;background:#9e6e4230;border-radius:5px;margin:18px auto 0;overflow:hidden}.loading-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b57d61,#e1a5a2);transition:width .7s ease}.loading-failure{padding:10px 12px;border-radius:15px;background:#fff9efea;margin-top:10px;border:1px solid #e2baa0}.loading-failure p{font-size:.6875rem;max-height:55px;overflow:auto;overflow-wrap:anywhere;margin:0 0 8px;color:#9b6656}.loading-failure button{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #e7c6ad;border-radius:30px;background:#fff9efeb;color:#876047;font-size:.75rem;box-shadow:0 3px 12px #7e523b12}.loading-skip{margin:14px auto 0;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 28px;border:1px solid #dfb99f;border-radius:24px;background:#fff9ef;color:#735038;font-size:.8125rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 14px #73503824;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.loading-skip:hover{transform:translateY(-1px);background:#fff;box-shadow:0 6px 18px #73503833}.loading-skip:active{transform:translateY(1px)}.loading-opening .loading-progress,.loading-leaving .loading-progress,.loading-fallback .loading-progress{opacity:0!important;visibility:hidden!important;display:none!important;transition:opacity .3s}.loading-fallback .loading-art-stage{animation:loading-enter .85s ease-in forwards}.loading-leaving{opacity:0;pointer-events:none}.loading-home-stage[aria-hidden=true]{visibility:hidden}@keyframes loading-enter{to{transform:scale(1.12);filter:brightness(1.12)}}@media(max-height:700px){.loading-copy{bottom:max(1rem,env(safe-area-inset-bottom))}.loading-copy h1{font-size:1.3rem;margin-top:7px}.loading-progress{margin-top:10px}}.loading-scene[data-loading-variant=desktop] .loading-copy{bottom:max(2.5rem,env(safe-area-inset-bottom))}.loading-scene[data-loading-variant=desktop] .loading-bottom-shade{inset:72% 0 0}@media(max-height:500px){.loading-scene[data-loading-variant=desktop] .loading-copy{bottom:.75rem}.loading-copy h1{font-size:1.125rem;margin:4px 0}.loading-eyebrow{font-size:.5rem}}@media(prefers-reduced-motion:reduce){.loading-scene,.loading-progress>span{transition:none}.loading-fallback .loading-art-stage{animation:none}}.home-shell{height:100dvh;overflow:hidden}.home-fullscreen,.home-scene{height:100%;width:100%}.home-scene{position:relative;overflow:hidden;isolation:isolate}.scene-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.home-top-bar{position:absolute;z-index:15;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:.5rem;pointer-events:none}.home-top-left,.home-top-center,.home-controls{pointer-events:auto;display:flex;align-items:center}.home-top-center{flex:1;min-width:0;justify-content:center}.home-controls{gap:.5rem;flex-shrink:0}.circle-control{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;flex-shrink:0;border:1px solid #e1d7c6;background:#f4eddf;color:#4a5b6a}.circle-control svg{width:22px;height:22px}.home-control{width:56px;height:56px;background:#2d486ce8;color:#fff9ef;border:1px solid #ffffffb0;box-shadow:0 4px 12px #243b5429}.home-control:hover{background:#3b5b85}.home-control svg{width:24px;height:24px}.home-top-timer{display:inline-flex;align-items:center;gap:7px;background:#fffaf3eb;backdrop-filter:blur(8px);border:1px solid #ebd0bc;border-radius:20px;padding:6px 12px;font-family:monospace,sans-serif;font-size:.9375rem;font-weight:700;color:#8c425a;box-shadow:0 4px 12px #5028141f;flex-shrink:0}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#e8557a;box-shadow:0 0 8px #e8557a;animation:timer-pulse 1.2s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.current-board-badge{display:inline-flex;align-items:center;gap:5px;background:#fffcf5eb;backdrop-filter:blur(6px);border:1px dashed #dcb899;border-radius:16px;padding:5px 10px;font-size:.8125rem;color:#5c4333;cursor:pointer;box-shadow:0 2px 8px #50281414;transition:transform .15s,background .15s;max-width:100%;min-width:0}.current-board-badge:hover{background:#fff8f0;transform:translateY(-1px)}.current-board-badge .badge-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.current-board-badge .badge-heart{color:#e680a1}.home-stop-button{background:#bd3a5de0!important;border-color:#ffd8e4!important;box-shadow:0 4px 14px #bd3a5d59!important}.home-stop-button:hover{background:#d8456f!important}.home-live-center{position:absolute;z-index:12;left:50%;bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.5rem));transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;width:min(340px,calc(100% - 32px))}.home-live-speech{background:#fffdf8f0;backdrop-filter:blur(8px);border:1.5px solid #ebd2be;border-radius:18px;padding:10px 16px;color:#4b3627;font-size:.875rem;line-height:1.35;text-align:center;box-shadow:0 8px 20px #4628141f;pointer-events:auto;width:100%}.home-live-waveform{display:flex;align-items:center;justify-content:center;gap:4px;height:40px}.home-live-waveform span{width:4px;border-radius:4px;background:linear-gradient(#ffe0ed,#e67d9f);box-shadow:0 0 8px #e67d9f80;transition:height 70ms linear}@keyframes flyFromLinhToBoard{0%{left:50%;top:56%;transform:translate(-50%,-50%) scale(.3) rotate(-10deg);opacity:0;box-shadow:0 4px 10px #46230f33}20%{opacity:1;transform:translate(-50%,-50%) scale(.85) rotate(4deg)}60%{left:36%;top:26%;transform:translate(-50%,-50%) scale(1.05) rotate(-5deg);opacity:1}85%{left:28%;top:18%;transform:translate(-50%,-50%) scale(1) rotate(-3deg);opacity:1}to{left:28%;top:18%;transform:translate(-50%,-50%) scale(.98) rotate(-3deg);opacity:0}}.flying-paper-note{position:absolute!important;z-index:50!important;pointer-events:none!important;width:104px;height:112px;padding:10px 9px 8px;background:#fff6de;border:1px solid rgba(220,195,160,.6);border-radius:2px;box-shadow:0 8px 22px #3c23143d;animation:flyFromLinhToBoard .95s cubic-bezier(.2,.8,.25,1) forwards!important;display:flex;flex-direction:column}.flying-note-tape{position:absolute;top:-6px;left:32%;width:32px;height:12px;background:#99bad1d9;transform:rotate(3deg);border-radius:1px}.flying-note-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:italic 600 .75rem/1.2 Georgia,serif;color:#5c4333;padding-bottom:4px;border-bottom:1px dashed rgba(140,110,85,.35);margin-top:2px}.flying-note-lines{display:flex;flex-direction:column;gap:5px;margin-top:7px;flex:1}.flying-note-lines span{height:3px;background:#b4967d40;border-radius:2px}.flying-note-lines span:nth-child(1){width:90%}.flying-note-lines span:nth-child(2){width:75%}.flying-note-lines span:nth-child(3){width:60%}.flying-note-heart{position:absolute;bottom:6px;right:7px;color:#d8839d;fill:#d8839d;opacity:.85}.home-note-landing{animation:popIntoPlace .25s .85s ease-out backwards!important}@keyframes popIntoPlace{0%{opacity:0;transform:scale(.92) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(-3deg)}}.home-error{position:absolute;bottom:1rem;left:1rem;right:1rem;background:#fff1df;border-radius:1rem;padding:1rem;color:#9b5e4c;z-index:10}.mascot-stage{position:absolute;inset:37% 0 25%;pointer-events:none}.mascot-canvas{display:block;width:100%;height:100%}.landscape .mascot-stage{inset:32% 20% 25%}.home-pinboard{position:absolute;top:14%;left:15%;right:9%;height:27%}.board-card{position:absolute;color:#675141;box-shadow:2px 5px #724a321f,0 8px 14px #76492d12}.home-note{text-align:left;border:0;border-radius:1px;padding:18px 13px 22px;width:53%;height:90%;background:#fff3d7;transform:rotate(-3deg);overflow:visible}.home-note:hover{filter:brightness(1.04)}.home-note:active:not(:disabled){transform:rotate(-3deg) translateY(2px)}.home-note-0{left:0;top:1%}.home-note-1{width:39%;height:54%;right:0;top:4%;background:#f6cad4;transform:rotate(5deg)}.home-note-2{width:37%;height:60%;right:1%;top:61%;background:#d5e8eb;transform:rotate(2deg)}.home-note-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:italic 600 1rem/1.3 Georgia,serif;padding-bottom:8px;border-bottom:1px solid #8b715b44;overflow-wrap:anywhere}.home-note-body{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere;font:.75rem/1.65 Georgia,serif;margin:9px 0 0}.home-note-1 .home-note-title{font-size:.875rem}.home-note-1 .home-note-body{-webkit-line-clamp:2}.home-note-2 .home-note-body{-webkit-line-clamp:3}.home-note-scores{display:flex;flex-direction:column;gap:7px;font-size:.75rem;margin-top:10px}.home-note-scores>span{display:flex;justify-content:space-between;gap:8px}.home-note-scores>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-note-scores b{color:#7e7770;font-variant-numeric:tabular-nums}.home-note-heart{position:absolute;bottom:8px;right:10px;color:#d1879c;transform:rotate(12deg)}.paper-tape{position:absolute;top:-8px;left:34%;width:42px;height:16px;transform:rotate(3deg);background:#99bad1c9}.home-note-1 .paper-tape{background:#eaca87c9;transform:rotate(-8deg)}.home-note-2 .paper-tape{background:#e9a9bec9}.landscape .home-pinboard{left:28%;right:26%;top:15%;height:27%}.landscape .home-note{padding:22px 20px}.landscape .home-note-title{font-size:1.3rem}.landscape .home-note-body,.landscape .home-note-scores{font-size:.875rem}.home-error{top:5.5rem;bottom:auto;left:50%;right:auto;transform:translate(-50%);width:min(420px,calc(100% - 32px))}.boards-more{margin-top:1.5rem}.fullscreen-overlay{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:0;background:#fffcf6;color:#293b50;overflow:hidden}.fullscreen-overlay[open]{display:flex;flex-direction:column}.fullscreen-overlay::backdrop{background:#fffcf6}.overlay-header{display:flex;align-items:center;gap:.75rem;flex-shrink:0;padding:max(.5rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .5rem max(1rem,env(safe-area-inset-left));border-bottom:1px solid #e8dfd1;background:#fffcf6}.overlay-header h1{font:1.15rem/1.3 Georgia,serif;margin:0;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.overlay-header h1:focus{outline:0}.overlay-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:1.5rem max(1rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.overlay-content{max-width:800px;margin:auto}.boards-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.boards-toolbar p{font-size:.875rem;color:#8c7c66;margin:0}.toolbar-actions{display:flex;align-items:center;gap:.5rem}.boards-list{display:grid;gap:.75rem}.board-picker{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem;text-align:left;border:1px solid #e7dece;border-radius:1rem;background:#fffaf0;color:#34465b}.board-picker:hover{background:#f4ecdd}.board-type-icon{color:#9a805a;display:flex;flex-shrink:0}.board-picker-copy{flex:1;min-width:0}.board-picker-copy strong{display:block;font-weight:600;overflow-wrap:anywhere}.board-picker-copy small{display:block;color:#9c8e7a;margin-top:.5rem}.board-picker>svg{width:18px;flex-shrink:0}.form-intro{color:#8b775d;margin:0 0 1.5rem}.member-list{margin-bottom:2rem}.member-list h3{color:#9a8567;font-size:.875rem;font-weight:500}.member-row{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid #ece3d4}.member-name{flex:1;min-width:0;font-size:1rem;font-weight:500;overflow-wrap:anywhere}.member-score-controls{display:flex;align-items:center;gap:.75rem}.member-score{min-width:3ch;max-width:12ch;text-align:center;font-size:2rem;line-height:1;font-weight:600;font-variant-numeric:tabular-nums;color:#3e5a59;overflow-wrap:anywhere}.score-plus{background:#304967;color:#fff9ed;border-color:#304967}.score-plus:hover{background:#456484}.score-minus:hover{background:#e8dec9}.board-edit-toggle{margin:1rem 0}.board-voice{border-top:1px solid #e7dece;margin-top:2rem;padding-top:1rem}.board-voice summary{cursor:pointer;color:#55748b;padding:.75rem 0;font-size:.875rem}.settings-content p{color:#8c7c66}.fullscreen-overlay .voice-content .eyebrow{display:none}@media(max-width:400px){.home-control{width:48px;height:48px}.boards-toolbar{align-items:flex-start}.boards-toolbar p{max-width:8rem}.member-row,.member-score-controls{gap:.5rem}.member-score{font-size:1.75rem}.overlay-header h1{font-size:1.25rem}}@media(max-height:700px)and (max-width:760px){.home-pinboard{top:18%;height:27%}.home-note-title{font-size:.875rem}.home-note-body{-webkit-line-clamp:3;font-size:.6875rem}.home-note-1 .home-note-body,.home-note-2 .home-note-body{-webkit-line-clamp:2}.mascot-stage{top:40%;bottom:27%}.home-voice-recover{bottom:175px}}@media(min-width:1000px){.overlay-header{padding-left:2rem;padding-right:2rem}.overlay-scroll{padding-top:2rem}.member-row{padding:1.5rem 0}.member-name{font-size:1.25rem}.member-score{font-size:2.5rem}}.fullscreen-overlay{--paper: #fffaf0;--ink: #51463e;--pink: #edafbc;--pink-ink: #845260;--navy: #3b587b;color:var(--ink);background:radial-gradient(circle at 15% 16%,#ffffff50 0 1px,transparent 2px),linear-gradient(135deg,#ebd0b2,#f5dfc3 50%,#e9c9a9);background-size:8px 8px,auto}.fullscreen-overlay::backdrop{background:#eed5b7}.overlay-header{border-bottom:0;padding-top:max(.5rem,env(safe-area-inset-top));padding-bottom:.5rem;background:#fffaf0dd;box-shadow:0 2px #c6a47e30,0 4px 16px #80582e0a}.overlay-heading-copy{flex:1;min-width:0}.overlay-header h1{color:#51463e;font-weight:600;font-size:1.15rem;margin:0}.overlay-header .circle-control{width:38px;height:38px;min-width:38px;min-height:38px;background:#fff9ee;border:1.5px solid #e4cbb1;color:#90705e;box-shadow:0 2px #ddc2a5}.overlay-header .circle-control:last-child{background:#fbe5e8;border-color:#e8bdc6;color:#996575;box-shadow:0 2px #e4b9c3}.overlay-scroll{padding-top:1.25rem}.overlay-content{position:relative;max-width:760px;min-height:calc(100% - 1rem);padding:2.25rem 1.5rem 1.25rem;border-radius:.5rem 1.5rem 1.5rem .5rem;border:1px solid #e7d5bb;background:linear-gradient(90deg,#ecddc730 0 7px,transparent 7px),var(--paper);box-shadow:5px 5px #fff3de,6px 6px #d9bd97,0 12px 30px #78512f16}.overlay-content:before{content:"";position:absolute;top:-.75rem;left:calc(50% - 2rem);width:4rem;height:1.5rem;background:repeating-linear-gradient(45deg,#efb7c380 0 5px,#f7d0d980 5px 10px);transform:rotate(-3deg);border-left:1px dashed #fff8;border-right:1px dashed #fff8}.paper-corner-heart{position:absolute;top:.75rem;right:1rem;color:#e7a5b5;transform:rotate(12deg)}.paper-corner-heart svg{width:18px;height:18px}.paper-signature{text-align:center;font:italic .75rem/1.6 Georgia,serif;color:#967967;margin:2rem 0 .5rem}.boards-toolbar{gap:.75rem;align-items:center;margin-bottom:1.75rem}.boards-toolbar p{display:flex;gap:.375rem;align-items:center;color:#8c6e5f;font:italic .875rem/1.5 Georgia,serif}.boards-toolbar p svg{color:#d98a9e;flex-shrink:0}.toolbar-actions{gap:.5rem}.fullscreen-overlay .button{border-radius:1rem;border:1px solid #dcc2a6;background:#fff6e8;color:#7d614c;box-shadow:0 3px #e1cdb4;font-weight:600}.fullscreen-overlay .button.primary{background:var(--navy);color:#fff8ee;border-color:#324d70;box-shadow:0 3px #233c5b}.fullscreen-overlay .button.primary:hover{background:#4c6c91}.fullscreen-overlay .circle-control:not(.score-plus):not(.score-minus){border-color:#e1c6ad}.boards-list{gap:1.25rem}.board-picker{position:relative;border-radius:.5rem 1.25rem 1.25rem .5rem;padding:1.25rem 1rem;gap:.75rem;background:#fce8c8;border:1px solid #e7caa0;box-shadow:2px 4px #e7cda5}.board-picker:before{content:"";position:absolute;top:-.4rem;left:1.25rem;height:.75rem;width:2rem;background:#adc7da99;transform:rotate(-6deg)}.board-picker[data-board-type=NOTE]{background:#f9dfe3;border-color:#e6bbc4;box-shadow:2px 4px #e8c3cc}.board-picker[data-board-type=NOTE]:before{background:#efd58caa;transform:rotate(5deg)}.board-picker:hover{background:#ffefd5;transform:translateY(-2px)}.board-picker[data-board-type=NOTE]:hover{background:#ffe9ed}.board-type-icon{background:#fffaf080;padding:.625rem;border-radius:.875rem;color:#a38353}.board-picker[data-board-type=NOTE] .board-type-icon{color:#b47687}.board-picker-copy strong{font:600 1rem/1.45 Georgia,serif;color:#634c3e}.board-picker-copy small{color:#806c57;font-size:.6875rem;margin-top:.25rem}.board-picker>svg{color:#a58b70}.member-list{margin-bottom:1.5rem}.score-paper-heading{position:relative;margin-bottom:.75rem;padding-bottom:1rem;border-bottom:2px solid #e6cdb8}.score-paper-tab{display:inline-block;background:#f6d9e0;border:1px solid #ebc0cc;color:#956476;font-size:.625rem;font-weight:600;letter-spacing:.04em;padding:.375rem .75rem;border-radius:.5rem .5rem .5rem 0;margin-bottom:.75rem;transform:rotate(-2deg)}.score-paper-heading h3{margin:0;color:#6b5243;font:italic 1.5rem/1.4 Georgia,serif}.score-paper-heading>svg{position:absolute;right:.25rem;bottom:1.125rem;color:#d58e9f;transform:rotate(-12deg)}.member-row{position:relative;gap:.75rem;padding:1rem .75rem;margin:.625rem 0;border:1px solid #ecdcca;border-radius:1rem;background:#fffefa;box-shadow:0 3px #eadfcf70;user-select:none;-webkit-user-select:none;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.member-row.is-holding{transform:scale(.97);border-color:#d97396;background:#fff3f6!important;box-shadow:0 1px #eadfcf70}.member-row-confirm-delete{background:#fff0f3!important;border:1.5px solid #f2b8c5!important;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;animation:member-delete-appear .2s cubic-bezier(.2,.8,.2,1)}@keyframes member-delete-appear{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.member-delete-info{flex:1;min-width:0}.member-delete-text{font-size:.875rem;color:#8c3f54}.member-delete-actions{display:flex;align-items:center;gap:.5rem}.member-delete-actions .button{min-height:36px;padding:.35rem .8rem;font-size:.8125rem}.member-row:nth-child(3n+2){background:#fff0ef;border-color:#edd2d1}.member-row:nth-child(3n+3){background:#eef4ed;border-color:#dce6d8}.member-row:nth-child(3n+4){background:#f0edf7;border-color:#e0d8ec}.member-name{color:#685447;font-weight:600;font-size:1rem}.member-score-controls{gap:.5rem}.member-score{color:#59726b;min-width:2.5ch;font-size:1.75rem;font-weight:700}.member-score-controls .circle-control{width:44px;height:44px;border:2px solid #e7bec8;background:#fff9f8;color:#ba7e90;box-shadow:0 3px #e9c9d1}.member-score-controls .score-plus{background:#efbbc9;border-color:#dfa0b2;color:#764d5e;box-shadow:0 3px #d99aab}.member-score-controls .score-plus:hover{background:#eaa7ba}.member-score-controls .score-minus:hover{background:#f9e0e8}.member-score-controls button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.board-actions-row{display:flex;align-items:center;gap:.5rem;margin:1.25rem 0 .75rem}.board-icon-btn{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #e2cbaf;background:#fffbf4;color:#7b6250;box-shadow:0 2px #ded0bf;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease}.board-icon-btn:hover{background:#fff4e5;color:#5d4535;transform:translateY(-1px)}.board-share-icon{color:#3b587b;border-color:#cbdbee;background:#f4f8fc}.board-share-icon:hover{background:#e8f0f8;color:#274567}.board-edit-icon.is-active{background:#fbe6eb;border-color:#e6b7c3;color:#9c455d}.board-delete-icon{color:#ba576e;border-color:#f1c7d0;background:#fdf2f4}.board-delete-icon:hover{background:#fde5ea;color:#9a3d53}.board-delete-confirm-box{display:inline-flex;align-items:center;gap:.35rem;background:#fff0f3;border:1px solid #f2c7d0;border-radius:999px;padding:.2rem .5rem .2rem .75rem;box-shadow:0 2px #ebd0d6}.board-delete-confirm-text{font-size:.75rem;font-weight:600;color:#924558}.board-delete-confirm-box .button{min-height:28px;padding:.2rem .55rem;font-size:.75rem;border-radius:999px}.fullscreen-overlay .button.danger{background:#c84b65;color:#fff9f8;border-color:#b03851;box-shadow:0 3px #92273e}.fullscreen-overlay .button.danger:hover{background:#d45973}.board-edit-toggle{font-size:.75rem}.overlay-header-recording{display:flex;align-items:center;gap:.5rem}.overlay-header-recording .home-top-timer{background:#fff5f7;border:1px solid #ecccd5;color:#9c4c62;font-size:.75rem;padding:.25rem .55rem;border-radius:999px;display:flex;align-items:center;gap:.35rem}.overlay-header-recording .home-stop-button,.overlay-header .home-stop-button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;background:#c84b65!important;border:none!important;box-shadow:0 2px #92273e!important}.overlay-header-recording .home-stop-button svg,.overlay-header .home-stop-button svg{width:11px!important;height:11px!important;color:#fff!important;fill:#fff!important;stroke:#fff!important}.fullscreen-overlay .voice-control-home{position:fixed;left:50%;transform:translate(-50%);bottom:max(2.5rem,calc(env(safe-area-inset-bottom) + 1.5rem));z-index:40}.fullscreen-overlay .linh-speech-bubble{position:fixed;left:50%;transform:translate(-50%);width:min(348px,calc(100% - 28px));bottom:max(168px,calc(env(safe-area-inset-bottom) + 154px));z-index:50;box-shadow:0 10px 30px #54342233,0 2px 8px #54342214}.fullscreen-overlay .linh-speech-bubble[data-session-active=true]{bottom:max(120px,calc(env(safe-area-inset-bottom) + 110px))}.fullscreen-overlay .linh-speech-bubble .linh-bubble-tail{display:none}.fullscreen-overlay[data-screen=board] .overlay-scroll{padding-bottom:220px}.member-score.clickable-score{cursor:pointer;padding:.15rem .5rem;border-radius:.75rem;transition:background-color .15s ease,transform .1s ease}.member-score.clickable-score:hover{background-color:#f7e6ea;color:#8c3f54;transform:scale(1.05)}.member-score.clickable-score:active{transform:scale(.98)}.board-readonly-banner{display:flex;align-items:center;gap:.5rem;background:#f0f4f9;border:1px solid #d2deed;border-radius:.75rem;padding:.5rem .85rem;margin-bottom:1.25rem;color:#4b6688;font-size:.8125rem;font-weight:500}.share-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#2d211873;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:modal-fade-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.share-modal-card{position:relative;width:min(390px,100%);background:#fffcf7;border:1.5px solid #ecd8c2;border-radius:1.5rem;padding:1.5rem 1.25rem;box-shadow:0 16px 40px #41291a33,0 4px 12px #41291a14;animation:card-pop-up .22s cubic-bezier(.2,.8,.2,1)}@keyframes card-pop-up{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.share-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.share-modal-title{display:flex;align-items:center;gap:.5rem}.share-modal-title h3{margin:0;font:600 1.15rem/1.3 Georgia,serif;color:#564032}.share-title-icon{color:#3b587b}.share-modal-close{width:32px;height:32px;min-width:32px;min-height:32px}.share-modal-desc{font-size:.85rem;color:#8c7362;margin:0 0 1.25rem;line-height:1.45}.share-qr-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.25rem}.share-qr-box{padding:1rem;background:#fff;border:1.5px solid #ebd4bc;border-radius:1rem;box-shadow:0 4px 16px #54342214}.share-board-title{font:600 .95rem/1.3 Georgia,serif;color:#4f3b2d;text-align:center}.share-link-row{display:flex;gap:.5rem;margin-bottom:1rem}.share-link-input{flex:1;font-size:.8125rem;padding:.55rem .75rem;border-radius:.75rem;background:#fdf8f0;border:1px solid #e5d1bc;color:#526379}.share-copy-btn{font-size:.8125rem;padding:.55rem .85rem;white-space:nowrap}.share-modal-footer{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#988273}.share-heart{color:#d97396;fill:#d97396;flex-shrink:0}.score-popup-card{width:min(340px,100%)}.score-popup-heart{color:#d97396;fill:#d97396}.score-current-badge{display:flex;align-items:center;justify-content:space-between;background:#f6ecdf;border-radius:.75rem;padding:.6rem .85rem;margin-bottom:1rem;font-size:.875rem;color:#6d5444}.score-current-val{font-size:1.25rem;color:#3b587b}.score-input-label{display:flex;flex-direction:column;gap:.4rem;font-size:.8125rem;color:#7b6251;margin-bottom:.75rem}.score-number-input{font-size:1.25rem;font-weight:600;text-align:center;padding:.5rem;border-radius:.75rem;border:1.5px solid #d9c4af;background:#fff}.score-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem}.score-add-btn{background:#324d70!important;color:#fff!important}.score-sub-btn{background:#fdf0f3!important;color:#9c3b53!important;border-color:#f1c3ce!important}.score-sub-btn:hover{background:#fce4ea!important}.score-quick-section{display:flex;flex-direction:column;gap:.5rem;border-top:1px dashed #ebd6c0;padding-top:.85rem}.score-quick-title{font-size:.75rem;font-weight:600;color:#8c7362;text-transform:uppercase;letter-spacing:.04em}.score-quick-grid{display:flex;flex-direction:column;gap:.4rem}.score-quick-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem}.quick-chip{padding:.55rem .4rem;font-size:.9375rem;font-weight:700;border-radius:.65rem;border:1px solid transparent;cursor:pointer;transition:transform .1s ease,filter .1s ease}.quick-chip:active{transform:scale(.95)}.chip-pos{background:#eef4fb;color:#2b5484;border-color:#ccdeef}.chip-pos:hover{background:#e2edf8}.chip-neg{background:#fff0f3;color:#9c3b53;border-color:#f2c7d1}.chip-neg:hover{background:#fce2e8}.qr-scanner-card{width:min(360px,100%)}.qr-video-container{position:relative;width:100%;aspect-ratio:1;background:#1e1915;border-radius:1rem;overflow:hidden;margin-bottom:1rem}.qr-video-preview{width:100%;height:100%;object-fit:cover}.qr-camera-error,.qr-camera-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center;color:#fff;background:#1e1915d9}.qr-scan-guide{position:absolute;inset:15%;border:2px dashed #f5b7cf;border-radius:1rem;box-shadow:0 0 0 9999px #00000059;pointer-events:none}.qr-scan-alternatives{display:flex;justify-content:center;margin-bottom:.75rem}.qr-file-btn{font-size:.8125rem;padding:.4rem .8rem;cursor:pointer}.qr-manual-form{width:100%}.qr-input-group{display:flex;align-items:center;gap:.4rem;background:#fdf8f0;border:1px solid #e5d1bc;border-radius:.75rem;padding:.25rem .5rem}.qr-input-icon{color:#8c7362;flex-shrink:0}.qr-manual-input{flex:1;border:none!important;background:transparent!important;font-size:.8125rem;padding:.4rem .2rem;outline:none}.qr-submit-btn{min-height:32px;width:32px;padding:0;border-radius:.5rem}.board-voice{border:1px dashed #d8bca4;border-radius:1rem;background:#f9efdf;padding:.5rem 1rem;margin-top:1.5rem}.board-voice summary{display:flex;align-items:center;gap:.625rem;color:#846856;list-style:none;font-weight:600}.board-voice summary::-webkit-details-marker{display:none}.board-voice summary span{flex:1}.board-voice summary>svg:first-child{color:#6683a2}.board-voice summary>svg:last-child{color:#c28b9b}.board-voice[open]{background:#fff6e8}.markdown-note{padding:0 .5rem;background:repeating-linear-gradient(to bottom,transparent 0px,transparent calc(var(--line-unit, 28px) - 1px),#d8be9f60 calc(var(--line-unit, 28px) - 1px),#d8be9f60 var(--line-unit, 28px));background-size:100% var(--line-unit, 28px);background-position:0 4px}.fullscreen-overlay input,.fullscreen-overlay select,.fullscreen-overlay textarea{border-color:#e0c8b0;background:#fffdf6;border-radius:.875rem}.fullscreen-overlay label{color:#876953}.fullscreen-overlay .error{border-radius:1rem}.fullscreen-overlay button:focus-visible,.fullscreen-overlay summary:focus-visible{outline-color:#b67b92}@media(max-width:400px){.overlay-content{padding:2rem 1rem 1rem}.overlay-scroll{padding-left:.75rem;padding-right:1rem}.boards-toolbar{flex-wrap:wrap}.boards-toolbar p{max-width:none}.member-row{padding:1rem .625rem;gap:.5rem}.member-score-controls{gap:.375rem}.member-score{font-size:1.5rem}}@media(min-width:1000px){.overlay-content{padding:2.5rem 3rem 1.5rem}.overlay-header{padding-left:max(2rem,calc((100vw - 760px)/2));padding-right:max(2rem,calc((100vw - 760px)/2))}.member-row{padding:1.25rem 1.5rem}.member-score{font-size:2rem}.member-score-controls{gap:1rem}}@media(prefers-reduced-motion:reduce){.board-picker:hover{transform:none}}.session-init{height:100dvh;display:grid;place-items:center;background:#f3dfc5;padding:1.5rem}.session-init-paper{background:#fffaf0;border:1px solid #e1c8ac;border-radius:1.5rem;padding:2rem;max-width:32rem;color:#846957;text-align:center;box-shadow:0 6px #e0c2a0}.settings-content{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.settings-group{display:flex;flex-direction:column;gap:.75rem}.settings-group-title{font:italic 600 .95rem/1.3 Georgia,serif;color:#7b5841;margin:0 0 .25rem .25rem;letter-spacing:.02em}.settings-account-card{background:#fffdf8;border:1px solid #e9d3c0;border-radius:1.25rem;padding:1.15rem;box-shadow:0 4px 14px #7350380f;display:flex;flex-direction:column;gap:1rem}.settings-account-header{display:flex;align-items:center;gap:.85rem}.settings-account-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#f7d5dc,#eed0b8);color:#7d4957;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px 2px #fff9}.settings-account-info{display:flex;flex-direction:column;min-width:0}.settings-account-name{font-size:1rem;font-weight:700;color:#614432;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-account-sub{font-size:.75rem;color:#9c7b64}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.85rem;border-top:1px dashed #eedacd;transition:opacity .2s ease}.settings-row.is-clickable{cursor:pointer}.settings-row.is-clickable:hover{opacity:.85}.settings-row.is-clickable:hover .settings-row-chevron{transform:translate(2px)}.settings-row-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.settings-row-icon{color:#b88190;flex-shrink:0}.settings-row-title{font-size:.8125rem;font-weight:600;color:#75523d;display:block}.settings-row-desc{font-size:.75rem;color:#9e7f6a;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-row-right{display:flex;align-items:center;flex-shrink:0}.settings-row-action{display:inline-flex;align-items:center;gap:3px;color:#ad6d81}.settings-row-hint{font-size:.75rem;font-weight:600;color:#ad6d81}.settings-row-chevron{color:#b58c76;transition:transform .2s ease}.settings-status-badge{display:inline-flex;align-items:center;gap:5px;font-size:.6875rem;font-weight:600;padding:4px 10px;border-radius:20px;flex-shrink:0}.settings-status-badge.badge-success{background:#e8f7ec;color:#2b7a42;border:1px solid #bce6c6}.settings-link-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:linear-gradient(135deg,#fcedf1,#fae2e8);border:1px solid #e8b6c4;border-radius:20px;color:#8f4b61;font-size:.75rem;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #b8819026;transition:all .2s ease;flex-shrink:0}.settings-link-btn:hover{background:linear-gradient(135deg,#fce4eb,#f7d5df);transform:translateY(-1px)}.settings-tip-box{display:flex;align-items:flex-start;gap:.75rem;background:#fff8ef;border:1px solid #e9d5be;border-radius:1rem;padding:.9rem 1rem;color:#8c674e;font-size:.75rem;line-height:1.45}.settings-tip-icon{color:#d19854;flex-shrink:0;margin-top:1px}.settings-reload-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}.heart-shop{display:flex;flex-direction:column;gap:1rem}.heart-balance-card{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#fdf0f4,#fae6ed);border:1px solid #e8bfcb;border-radius:1.25rem;padding:1.15rem 1.25rem;box-shadow:0 4px 16px #bc7a901f}.heart-balance-icon-ring{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #e9b5c3;display:flex;align-items:center;justify-content:center;color:#bc7a90;box-shadow:0 3px 8px #bc7a9033;flex-shrink:0}.heart-balance-icon{fill:#e8a9b8;color:#ba6d84}.heart-balance-title{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#9c687a}.heart-balance-row{display:flex;align-items:baseline;gap:.4rem;margin:2px 0}.heart-balance-val{font:700 1.5rem/1.2 Georgia,serif;color:#794457}.heart-balance-unit{font-size:.8125rem;font-weight:600;color:#9e6477}.heart-balance-meta{display:block;font-size:.625rem;color:#a87989;letter-spacing:.02em}.heart-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:.25rem 0}.heart-package-card{position:relative;background:#fffdf8;border:1.5px solid #ebd4c2;border-radius:1.25rem;padding:1.15rem .9rem .95rem;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;box-shadow:0 4px 12px #7350380f;transition:all .22s cubic-bezier(.2,.8,.25,1);outline:none}.heart-package-card:hover{transform:translateY(-2px);border-color:#df97aa;box-shadow:0 8px 20px #bc7a902e;background:#fff}.heart-package-card:active{transform:translateY(1px)}.heart-package-card.is-selected{border-color:#cb748c;background:linear-gradient(180deg,#fffafc,#fff4f7);box-shadow:0 0 0 2px #d8839d40,0 8px 20px #bc7a9033}.heart-package-badge{position:absolute;top:-9px;background:linear-gradient(135deg,#eb9cb0,#db758f);color:#fff;font-size:.5625rem;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:12px;box-shadow:0 2px 6px #db758f59;text-transform:uppercase}.heart-package-badge.badge-save{background:linear-gradient(135deg,#e5a769,#cb7d32);box-shadow:0 2px 6px #cb7d3259}.heart-package-top{display:flex;align-items:center;gap:5px;margin-top:2px}.heart-package-icon{color:#d8839d;fill:#f5c4d0;transition:transform .2s ease}.heart-package-card:hover .heart-package-icon{transform:scale(1.15)}.heart-package-count{font:italic 700 1.25rem/1 Georgia,serif;color:#734557}.heart-package-label{font-size:.6875rem;font-weight:600;color:#a48270;margin:3px 0 10px}.heart-package-price{width:100%}.heart-package-price strong{display:block;background:#f5e4d5;color:#694430;border-radius:20px;padding:5px 0;font-size:.8125rem;font-weight:700;letter-spacing:.01em;transition:background .2s ease,color .2s ease}.heart-package-card.is-selected .heart-package-price strong,.heart-package-card:hover .heart-package-price strong{background:linear-gradient(135deg,#e8a9b8,#d8839d);color:#fff}.link-email-backdrop{position:fixed;inset:0;z-index:1200;background:#3c281973;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:grid;place-items:center;padding:1.25rem;animation:fadeInBackdrop .2s ease-out forwards}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.link-email-card{position:relative;background:#fffdf9;border:1.5px solid #ecd3bf;border-radius:1.5rem;padding:1.75rem 1.5rem 1.5rem;width:min(380px,calc(100vw - 2.5rem));color:#6b4c37;text-align:center;box-shadow:0 18px 45px #73503840;animation:scaleInCard .25s cubic-bezier(.2,.8,.25,1) forwards}@media(prefers-reduced-motion:reduce){.link-email-backdrop,.link-email-card{animation:none!important;opacity:1!important;transform:none!important}}@keyframes scaleInCard{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.link-email-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid #ebd3bf;background:#fff8ef;color:#8c6953;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.link-email-close:hover{background:#fff;color:#694430}.link-email-icon-badge{width:52px;height:52px;border-radius:50%;margin:0 auto .75rem;background:linear-gradient(135deg,#fbe2ea,#f5d1dc);border:1px solid #eabcc9;color:#ba6d84;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #bc7a902e}.link-email-title{font:italic 700 1.3rem/1.2 Georgia,serif;color:#6d4734;margin:0 0 6px}.link-email-desc{font-size:.75rem;line-height:1.45;color:#8e6d57;margin:0 0 1.25rem}.link-email-error{background:#fae6e9;border:1px solid #eab6be;color:#9c4558;border-radius:12px;padding:8px 12px;font-size:.75rem;margin-bottom:1rem}.link-email-error p{margin:0}.link-email-form{display:flex;flex-direction:column;gap:.85rem}.link-email-field input{width:100%;box-sizing:border-box;padding:11px 14px;border:1.5px solid #e5cbb7;border-radius:14px;background:#fff9f0;color:#634330;font-size:.875rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.link-email-field input:focus{border-color:#d8839d;background:#fff;box-shadow:0 0 0 3px #d8839d2e}.link-email-otp-input{text-align:center;font-size:1.25rem!important;font-weight:700;letter-spacing:.45em}.link-email-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid #d47e96;border-radius:22px;background:linear-gradient(135deg,#e8a9b8,#d8839d);color:#fff;font-size:.8125rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #d8839d52;transition:all .2s ease}.link-email-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #d8839d66}.link-email-submit:disabled{opacity:.6;cursor:not-allowed}.link-email-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem}.link-email-resend,.link-email-back{background:none;border:none;color:#9c6c56;font-size:.6875rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px}.link-email-resend:hover:not(:disabled),.link-email-back:hover:not(:disabled){color:#6e432d;text-decoration:underline}.link-email-resend:disabled{opacity:.55;cursor:not-allowed}.link-email-divider{display:flex;align-items:center;gap:.75rem;margin:.9rem 0;color:#ad8d76;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.link-email-divider:before,.link-email-divider:after{content:"";flex:1;height:1px;background:#ecd7c6}.link-google-btn{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid #e6cdb9;border-radius:22px;background:#fff;color:#5c402f;font-size:.8125rem;font-weight:700;cursor:pointer;box-shadow:0 3px 10px #73503814;transition:all .2s ease}.link-google-btn:hover:not(:disabled){background:#fff9f2;border-color:#d9b59b;transform:translateY(-1px);box-shadow:0 5px 14px #73503824}.link-google-btn:disabled{opacity:.6;cursor:not-allowed}.settings-google-link-btn{background:#fff;border-color:#e4cbb7;color:#6b4c37}.settings-google-link-btn:hover{background:#fff9f1;border-color:#d9b59b}.settings-inline-error{font-size:.75rem;color:#a84256;background:#fae8ec;border:1px solid #ebb6c0;border-radius:10px;padding:6px 10px;margin:0}.language-modal-overlay{position:fixed;inset:0;background:#2b1f1773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.language-modal-card{position:relative;width:100%;max-width:420px;max-height:80vh;background:#fffaf0;border:1px solid #e7d5bb;border-radius:1.25rem;box-shadow:0 16px 36px #5a3c2338;display:flex;flex-direction:column;overflow:hidden}.language-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.25rem .75rem;border-bottom:1px solid #ebd9c2}.language-modal-title{display:flex;align-items:center;gap:.5rem;font-family:Georgia,serif;font-weight:700;font-size:1.05rem;color:#4a3425}.language-modal-icon{color:#b8627b}.language-modal-close{background:none;border:none;color:#8c7362;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s}.language-modal-close:hover{background:#f0deca;color:#4a3425}.language-modal-search{position:relative;padding:.75rem 1.25rem;border-bottom:1px solid #f0e2d0}.language-search-icon{position:absolute;left:2rem;top:50%;transform:translateY(-50%);color:#9c8473}.language-search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;background:#fff;border:1px solid #e0cdb7;border-radius:.75rem;font-size:.875rem;color:#433327;outline:none;box-sizing:border-box}.language-search-input:focus{border-color:#d1879c;box-shadow:0 0 0 2px #f4cad4}.language-modal-list{flex:1;overflow-y:auto;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.language-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem .75rem;background:transparent;border:1px solid transparent;border-radius:.65rem;cursor:pointer;text-align:left;transition:all .12s ease}.language-item:hover{background:#f7ebe1}.language-item.is-selected{background:#fbebf0;border-color:#edbfcb}.language-item-left{display:flex;align-items:center;gap:.65rem}.language-code-badge{display:inline-block;font-size:.6875rem;font-weight:700;padding:2px 6px;background:#eed9c4;color:#6a4d38;border-radius:4px;font-family:monospace}.language-item.is-selected .language-code-badge{background:#e8a5b6;color:#fff}.language-item-name{font-size:.9375rem;color:#4a3425;font-weight:500}.language-check-icon{color:#ba5773}.pwa-modal-overlay{position:fixed;inset:0;background:#2b1f1780;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1300;display:flex;align-items:center;justify-content:center;padding:1.25rem}.pwa-modal-card{position:relative;width:100%;max-width:360px;background:#fffdf9;border:1.5px solid #ecd3bf;border-radius:1.5rem;padding:2rem 1.5rem 1.5rem;text-align:center;color:#6b4c37;box-shadow:0 20px 48px #73503847}.pwa-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#9c8473;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s}.pwa-modal-close:hover{background:#f0deca;color:#4a3425}.pwa-modal-icon-wrap{display:flex;justify-content:center;margin-bottom:1rem}.pwa-modal-icon{width:84px;height:84px;border-radius:20px;box-shadow:0 8px 24px #73503833}.pwa-modal-title{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;color:#3b587b;margin:0 0 .5rem}.pwa-modal-desc{font-size:.84rem;line-height:1.55;color:#7d604b;margin:0 0 1.25rem}.pwa-install-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border:none;border-radius:22px;background:linear-gradient(135deg,#e8a9b8,#d8839d);color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #d8839d66;transition:all .2s;margin-bottom:.75rem}.pwa-install-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #d8839d80}.pwa-ios-instructions{display:flex;align-items:flex-start;gap:10px;background:#fcf1e6;border:1px solid #ebd4bf;border-radius:12px;padding:10px 12px;text-align:left;margin-bottom:1rem}.pwa-ios-icon{color:#3b587b;flex-shrink:0;margin-top:2px}.pwa-ios-instructions p{margin:0;font-size:.8125rem;line-height:1.45;color:#5c412f;font-weight:500}.pwa-later-btn{background:none;border:none;color:#8c715c;font-size:.8125rem;font-weight:600;cursor:pointer;padding:6px 12px;text-decoration:underline;transition:color .15s}.pwa-later-btn:hover{color:#4a3425}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.static{position:static}.sticky{position:sticky}.grid{display:grid}.hidden{display:none}.table{display:table}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.italic{font-style:italic}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#293b50;font-synthesis:none;background:#f6f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #879abf}button{transition:background .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}h2{color:#29394e;margin:0 0 1rem;font-family:Georgia,serif;font-size:1.5rem;line-height:1.3}h3{margin:0 0 1rem;font-size:1rem;font-weight:600}p{line-height:1.6}small{font-size:.75rem}.button{color:#5c5143;background:#fffaf1;border:1px solid #d9cfbe;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;font-size:.875rem;display:inline-flex}.button.primary{color:#fff9ed;background:#304967;border-color:#304967}.button.primary:hover{background:#3e5979}.button.subtle{background:#f6f0e5}label{color:#766650;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:.875rem;display:flex}input,select,textarea{color:#36465b;background:#fffdf9;border:1px solid #e5dcca;border-radius:.75rem;width:100%;min-width:0;padding:.75rem;font-size:1rem}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a99b88}fieldset{border:1px solid #e5dcca;border-radius:1rem;min-width:0;margin:1rem 0;padding:1rem}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.entry-form{margin-top:1rem}.empty{color:#8b775d;text-align:center;padding:2rem 0;font-size:.875rem}.error{color:#a75f4d;overflow-wrap:anywhere;background:#fff0ea;border:1px solid #f0d0c2;border-radius:.75rem;margin-bottom:1rem;padding:1rem;font-size:.875rem}.success{color:#587153;overflow-wrap:anywhere;background:#eff5eb;border-radius:.75rem;margin:1rem 0;padding:1rem}.eyebrow{letter-spacing:.1em;color:#9a8465;font-size:.75rem}.asset-error{color:#a00;font-size:.875rem;position:absolute;bottom:15%;left:10%}.markdown-note{--line-unit:28px;font-size:.9375rem;line-height:var(--line-unit);overflow-wrap:anywhere;color:#433830;min-height:8rem;font-family:Georgia,Times New Roman,serif}.markdown-note p{margin:0 0 var(--line-unit);line-height:var(--line-unit);font-size:.9375rem}.markdown-note h1{font-size:1.15rem;font-weight:700;line-height:var(--line-unit);margin:0 0 var(--line-unit);color:#2b3a4a}.markdown-note h2{font-size:1.05rem;font-weight:700;line-height:var(--line-unit);color:#2b3a4a;margin:0}.markdown-note h3{font-size:.95rem;font-weight:600;line-height:var(--line-unit);color:#2b3a4a;margin:0}.markdown-note ul,.markdown-note ol{list-style:revert;margin:0 0 var(--line-unit);padding-left:1.5rem}.markdown-note li{line-height:var(--line-unit);margin:0;font-size:.9375rem}.markdown-note pre{margin:0 0 var(--line-unit);background:#f3ecdf;border-radius:.75rem;padding:.75rem 1rem;line-height:1.5;overflow:auto}.markdown-note a{color:#365d91;text-decoration:underline}.markdown-note blockquote{color:#766650;margin:0 0 var(--line-unit);line-height:var(--line-unit);border-left:3px solid #c9b58e;padding-left:1rem}.voice-content{padding-top:1rem}.voice-content form{margin:1rem 0}.voice-content>label{margin-top:1rem}.voice-content .button{margin-bottom:1rem}.voice-content>h2{font-family:inherit;font-size:1rem}.voice-content .success p{margin:.25rem 0}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
