:root{--night:#14223a;--night-deep:#0b1326;--teal:#396b6b;--amber:#e7a84b;--gold:#f3c765;--peach:#f2c7a5;--cream:#fff6e8;--paper:#f8ead0;--ink:#1c2940;--muted:#c9ced8;--danger:#ffb9a7;--focus:#fff3b5;--radius-xl:30px;--radius-lg:22px;--radius-md:16px;--shadow:0 18px 54px rgba(4,9,21,.42);--tap:48px;--font-thai:"Leelawadee UI","Noto Sans Thai",Tahoma,system-ui,sans-serif;--font-display:Georgia,"Times New Roman",serif;--leading-copy:1.62;--leading-control:1.45;--type-meta:12px;--type-helper:13px;color-scheme:dark;font-family:var(--font-thai);}*{box-sizing:border-box;}html{min-height:100%;background:var(--night-deep);scroll-behavior:smooth;}body{min-width:0;min-height:100%;margin:0;overflow-x:hidden;color:var(--cream);font-family:var(--font-thai);font-size:16px;line-height:var(--leading-copy);font-kerning:normal;text-rendering:optimizeLegibility;background:radial-gradient(circle at 50% -10%,rgba(74,119,126,.58),transparent 45%),linear-gradient(180deg,var(--night),var(--night-deep));}button,a,input,select,summary{font:inherit;}button{touch-action:manipulation;}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;color:var(--ink);background:var(--cream);border-radius:10px;transform:translateY(-150%);}.skip-link:focus{transform:none;}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;opacity:.45;}.ambient::after{content:"";position:absolute;inset:-10%;background-image:repeating-linear-gradient(108deg,transparent 0 24px,rgba(232,239,244,.13) 25px,transparent 26px 52px);animation:rain 2.3s linear infinite;}.ambient span{position:absolute;border-radius:50%;background:rgba(243,199,101,.13);filter:blur(18px);}.ambient span:nth-child(1){width:180px;height:180px;left:-90px;top:28%;}.ambient span:nth-child(2){width:260px;height:260px;right:-160px;top:48%;}.ambient span:nth-child(3){width:120px;height:120px;left:34%;bottom:-70px;}@keyframes rain{to{transform:translate(-38px,70px);}}.app{position:relative;width:min(100%,540px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) clamp(12px,4vw,22px) max(22px,env(safe-area-inset-bottom));}.topbar{position:relative;z-index:4;display:grid;grid-template-columns:var(--tap) minmax(0,1fr) var(--tap) var(--tap);align-items:center;min-height:52px;gap:8px;}.round-button{display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:1px solid rgba(243,199,101,.55);border-radius:50%;color:var(--gold);background:rgba(9,18,36,.72);box-shadow:inset 0 0 0 3px rgba(243,199,101,.05);cursor:pointer;transition:transform 160ms ease,background 160ms ease,opacity 160ms ease;}.round-button:hover{background:rgba(57,107,107,.75);}.round-button:active{transform:scale(.94);}.round-button:disabled{opacity:.25;cursor:default;}.sound-off{display:none;font-size:24px;}.round-button[aria-pressed="true"] .sound-on{display:none;}.round-button[aria-pressed="true"] .sound-off{display:inline;}.fullscreen-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}.fullscreen-exit,.fullscreen-direct{display:none;}.fullscreen-button[aria-pressed="true"] .fullscreen-enter{display:none;}.fullscreen-button[aria-pressed="true"] .fullscreen-exit{display:block;}.fullscreen-button[data-mode="direct"] .fullscreen-enter{display:none;}.fullscreen-button[data-mode="direct"] .fullscreen-direct{display:inline;font-size:21px;line-height:1;}.brand-lockup{text-align:center;color:var(--gold);line-height:1.05;}.brand-lockup span{display:block;font:700 12px/1 Georgia,serif;letter-spacing:.18em;}.brand-lockup small{color:var(--peach);font-size:9px;letter-spacing:.16em;}.journey-progress{display:flex;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:4px 0 8px;}.journey-progress.is-hidden{visibility:hidden;}.station-dot{width:9px;height:9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#536076;transition:width 240ms ease,background 240ms ease,box-shadow 240ms ease;}.station-dot.is-passed{background:var(--amber);}.station-dot.is-current{width:22px;background:var(--gold);box-shadow:0 0 14px rgba(243,199,101,.85);}#game-main{min-height:calc(100dvh - 104px);}#game-main:focus{outline:none;}.screen{animation:screen-in 360ms cubic-bezier(.2,.8,.2,1) both;}@keyframes screen-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}.station-transition{position:fixed;z-index:15;inset:0;display:grid;place-items:center;align-content:center;gap:18px;width:min(100%,532px);margin:auto;padding:24px;border:0;border-radius:0;color:var(--cream);background:radial-gradient(circle at 50% 34%,rgba(42,92,95,.72),transparent 40%),rgba(5,13,25,.96);cursor:pointer;text-align:center;}.station-transition:disabled{opacity:1;cursor:wait;}.transition-sprite{display:block;width:min(55vw,190px);aspect-ratio:1;background-position:0 0;background-repeat:no-repeat;background-size:600% 100%;filter:drop-shadow(0 14px 16px rgba(0,0,0,.42));animation:transition-frames 1.05s steps(5,end) both;}@keyframes transition-frames{to{background-position:100% 0;}}.transition-ticket{display:block;width:min(100%,390px);padding:20px 22px;border:1px solid rgba(243,199,101,.62);border-radius:18px;background:rgba(13,29,48,.9);box-shadow:0 12px 38px rgba(0,0,0,.34);}.transition-ticket span,.transition-ticket strong,.transition-ticket em,.transition-ticket small{display:block;}.transition-ticket span{color:var(--gold);font:800 var(--type-meta)/1.2 ui-monospace,Consolas,monospace;letter-spacing:.08em;}.transition-ticket strong{margin-top:7px;font-size:17px;line-height:1.55;}.transition-reaction{margin-top:8px;color:#fff1c2;font-size:14px;font-style:normal;font-weight:750;line-height:1.58;text-wrap:pretty;}.transition-reaction b{margin-right:7px;color:var(--gold);}.transition-ticket small{margin-top:10px;padding-top:9px;border-top:1px solid rgba(243,199,101,.18);color:#d4dce5;font-size:var(--type-helper);font-weight:700;line-height:1.45;}.transition-prompt{color:var(--muted);font-size:var(--type-helper);}.station-transition.is-reduced-motion .transition-sprite{background-position:center;background-size:contain;animation:none;}.title-screen{display:flex;flex-direction:column;justify-content:center;min-height:calc(100dvh - 76px);text-align:center;}.hero-art,.scene-art{position:relative;overflow:hidden;border:1px solid rgba(243,199,101,.26);background:#23394d;box-shadow:var(--shadow);}.hero-art{min-height:clamp(224px,45dvh,390px);border-radius:42% 42% var(--radius-lg) var(--radius-lg) / 17% 17% var(--radius-lg) var(--radius-lg);}.hero-art img,.scene-art img{width:100%;height:100%;display:block;object-fit:cover;}.hero-art img{position:absolute;inset:0;}.hero-art::after,.scene-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 48%,rgba(9,16,31,.4));}.departure-board{position:absolute;z-index:2;left:50%;top:18px;transform:translateX(-50%);min-width:166px;padding:8px 12px;border:1px solid rgba(243,199,101,.6);border-radius:8px;color:var(--gold);background:rgba(4,11,23,.78);font:700 12px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.08em;white-space:nowrap;text-shadow:0 0 8px rgba(243,199,101,.55);}.hero-whisper{position:absolute;z-index:2;right:18px;bottom:14px;left:18px;margin:0;padding:8px 10px;border-radius:12px;color:#fff1c2;background:rgba(5,13,25,.7);font-size:var(--type-helper);line-height:1.52;backdrop-filter:blur(4px);}.eyebrow{margin:16px 0 5px;color:var(--peach);font-size:var(--type-meta);font-weight:700;letter-spacing:.13em;text-transform:uppercase;}.game-title{margin:0;color:var(--gold);font:700 clamp(31px,9.5vw,48px)/.95 Georgia,serif;letter-spacing:-.035em;text-shadow:0 4px 24px rgba(231,168,75,.3);}.title-copy{max-width:390px;margin:12px auto 16px;color:var(--muted);font-size:clamp(15px,4.2vw,17px);line-height:1.55;}.friend-ticket-note{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:11px;margin:-3px 0 13px;padding:9px 11px;border:1px dashed rgba(243,199,101,.58);border-radius:14px;color:var(--cream);background:linear-gradient(135deg,rgba(33,75,78,.84),rgba(18,43,59,.82));font-size:13px;line-height:1.55;text-align:left;}.friend-ticket-note p{min-width:0;margin:0;}.friend-ticket-avatar{width:52px;height:52px;border:1px solid rgba(255,237,174,.76);border-radius:11px;background:#f6dfaa;box-shadow:0 5px 13px rgba(0,0,0,.24);object-fit:cover;}.friend-ticket-note.is-returned{border-style:solid;background:linear-gradient(135deg,rgba(78,69,46,.9),rgba(18,43,59,.9));box-shadow:0 0 0 1px rgba(255,237,174,.12),0 8px 22px rgba(0,0,0,.18);}.friend-ticket-note strong{color:var(--gold);}.friend-ticket-note span{color:var(--muted);}.title-ticket-button{position:relative;display:grid;gap:3px;align-content:center;min-height:60px;padding:10px 40px 10px 18px;overflow:hidden;}.title-ticket-button::after{content:"✦";position:absolute;top:0;right:0;display:grid;place-items:center;width:38px;height:100%;border-left:1px dashed rgba(77,49,20,.35);color:#5d3c16;background:rgba(255,255,255,.18);}.title-ticket-label,.title-ticket-action{display:block;}.title-ticket-label{color:#704a19;font:800 var(--type-meta)/1.2 ui-monospace,Consolas,monospace;letter-spacing:.06em;}.title-ticket-action{color:#281e13;font-size:16px;font-weight:900;line-height:1.4;}.resume-ticket-button{box-shadow:0 0 0 1px rgba(255,237,174,.52),0 12px 30px rgba(231,168,75,.34);}.resume-note{margin:6px 0 0;color:var(--gold);font-size:var(--type-helper);font-weight:700;line-height:1.45;}.friend-start-button{box-shadow:0 0 0 1px rgba(255,237,174,.44),0 12px 28px rgba(231,168,75,.28);}.friend-story-button{min-height:44px;margin-top:7px;}.new-ticket-button{margin-top:9px;}.replay-options{margin-top:9px;border:1px solid rgba(243,199,101,.42);border-radius:15px;color:var(--cream);background:rgba(14,29,50,.72);text-align:left;}.replay-options>summary{position:relative;display:grid;gap:2px;min-height:54px;padding:9px 38px 9px 14px;cursor:pointer;list-style:none;}.replay-options>summary::-webkit-details-marker{display:none;}.replay-options>summary::after{content:"+";position:absolute;align-self:center;justify-self:end;color:var(--gold);font-size:23px;font-weight:400;}.replay-options[open]>summary::after{content:"−";}.replay-options>summary strong{font-size:14px;line-height:1.35;}.replay-options>summary span{color:var(--muted);font-size:var(--type-meta);line-height:1.4;}.replay-option-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 10px;}.replay-option-actions .secondary-button{min-height:46px;font-size:12px;}.title-play-note{margin:6px 0 0;color:var(--muted);font-size:var(--type-meta);}.collection-button{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-inline:15px;text-align:left;}.collection-button-copy small,.collection-button-copy strong{display:block;}.collection-button-copy small{color:var(--muted);font-size:var(--type-meta);line-height:1.35;}.collection-button-copy strong{margin-top:2px;color:var(--gold);font-size:13px;line-height:1.35;}.prologue-screen{display:grid;place-items:center;min-height:calc(100dvh - 86px);}.prologue-stage{position:relative;width:100%;height:clamp(470px,calc(100dvh - 96px),720px);overflow:hidden;border:1px solid rgba(243,199,101,.42);border-radius:30px;background:#13283a;box-shadow:0 18px 44px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.04);}.prologue-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 850ms cubic-bezier(.2,.8,.2,1),object-position 850ms ease;}.prologue-stage[data-focus="platform"]>img{object-position:26% 52%;transform:scale(1.05);}.prologue-stage[data-focus="sign"]>img{object-position:49% 26%;transform:scale(1.15);}.prologue-stage[data-focus="train"]>img{object-position:72% 54%;transform:scale(1.09);}.prologue-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,20,.3),transparent 35%,rgba(4,10,20,.15) 48%,rgba(4,10,20,.88));pointer-events:none;}.prologue-stage[data-beat="2"] .prologue-vignette{background:radial-gradient(circle at 68% 45%,rgba(243,199,101,.18),transparent 28%),linear-gradient(180deg,rgba(4,10,20,.22),transparent 38%,rgba(4,10,20,.88));}.prologue-board{position:absolute;top:66px;left:50%;min-width:160px;padding:8px 12px;border:1px solid rgba(243,199,101,.68);border-radius:8px;color:var(--gold);background:rgba(4,11,23,.82);box-shadow:0 0 24px rgba(243,199,101,.16);transform:translateX(-50%);font:700 11px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.08em;text-align:center;text-shadow:0 0 8px rgba(243,199,101,.7);}.prologue-stage[data-beat="1"] .prologue-board,.prologue-stage[data-beat="2"] .prologue-board{animation:board-awake 900ms ease both;}@keyframes board-awake{0%,28%{opacity:.22;filter:brightness(.45);}42%{opacity:1;filter:brightness(1.8);}58%{opacity:.45;}100%{opacity:1;filter:none;}}.prologue-ticket{position:absolute;z-index:2;top:35%;left:50%;display:grid;place-items:center;width:178px;height:90px;padding:12px 25px;border:2px solid #694a1f;border-radius:13px;color:#4f381b;background:linear-gradient(145deg,#fff0b5,#e8a53e);box-shadow:0 15px 28px rgba(0,0,0,.36),inset 0 0 0 3px rgba(255,255,255,.34);transform:translate(-50%,-50%) rotate(-3deg);opacity:1;animation:ticket-arrive 650ms cubic-bezier(.18,.88,.2,1.16) both;}.prologue-ticket::before,.prologue-ticket::after{content:"";position:absolute;top:50%;width:18px;height:30px;border-radius:50%;background:#102039;transform:translateY(-50%);}.prologue-ticket::before{left:-11px;}.prologue-ticket::after{right:-11px;}.prologue-ticket span{font:800 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.11em;}.prologue-ticket strong{font:800 19px/1 Georgia,serif;}.prologue-ticket.is-blank strong{font-size:15px;letter-spacing:-.01em;white-space:nowrap;}.prologue-ticket i{position:absolute;right:15px;bottom:9px;font-style:normal;}.prologue-stage[data-beat="0"] .prologue-ticket{display:none;}@keyframes ticket-arrive{from{opacity:0;transform:translate(-50%,-28%) rotate(8deg) scale(.82);}to{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1);}}.prologue-skip{position:absolute;z-index:4;top:12px;right:12px;min-width:54px;min-height:42px;padding:8px 11px;border:1px solid rgba(243,199,101,.44);border-radius:999px;color:var(--cream);background:rgba(7,16,31,.76);font-size:12px;line-height:1.35;cursor:pointer;}.prologue-progress{position:absolute;z-index:3;top:25px;left:18px;display:flex;gap:6px;}.prologue-progress span{width:18px;height:4px;border-radius:999px;background:rgba(255,255,255,.24);}.prologue-progress span.is-active{background:var(--gold);box-shadow:0 0 9px rgba(243,199,101,.7);}.prologue-dialog{position:absolute;z-index:3;right:12px;bottom:12px;left:12px;display:block;width:calc(100% - 24px);min-height:158px;padding:27px 18px 15px;border:1px solid rgba(243,199,101,.64);border-radius:20px;color:var(--cream);background:linear-gradient(145deg,rgba(8,19,36,.94),rgba(18,47,61,.92));box-shadow:0 14px 28px rgba(0,0,0,.32),inset 0 0 22px rgba(243,199,101,.04);backdrop-filter:blur(8px);text-align:left;cursor:pointer;}.prologue-dialog:hover{border-color:var(--gold);}.prologue-dialog:focus-visible,.prologue-skip:focus-visible{outline:3px solid white;outline-offset:3px;}.prologue-speaker{position:absolute;top:-13px;left:14px;max-width:calc(100% - 28px);padding:6px 11px;overflow:hidden;border:1px solid rgba(243,199,101,.72);border-radius:999px;color:#3c2c17;background:linear-gradient(135deg,#fff0b5,var(--amber));font-size:12px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;}.prologue-copy{display:block;min-height:72px;font-size:clamp(14px,4.2vw,17px);font-weight:650;line-height:1.65;text-wrap:pretty;}.prologue-copy::after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;background:var(--gold);vertical-align:-.12em;animation:caret-blink 720ms steps(1) infinite;}@keyframes caret-blink{50%{opacity:0;}}.prologue-prompt{display:block;margin-top:7px;color:var(--gold);font-size:var(--type-helper);font-weight:800;line-height:1.4;text-align:right;}.primary-button,.secondary-button,.choice-button,.line-cta{min-height:var(--tap);border-radius:var(--radius-md);cursor:pointer;line-height:var(--leading-control);transition:transform 160ms ease,filter 160ms ease,background 160ms ease,opacity 160ms ease;}.primary-button{width:100%;padding:13px 18px;border:0;color:var(--ink);background:linear-gradient(135deg,#ffe292,var(--amber));box-shadow:0 10px 24px rgba(231,168,75,.25);font-weight:800;}.primary-button:hover{filter:brightness(1.06);}.primary-button:active,.secondary-button:active,.choice-button:active{transform:scale(.985);}.primary-button:disabled,.secondary-button:disabled,.choice-button:disabled{opacity:.55;cursor:progress;}.secondary-button{width:100%;padding:12px 15px;border:1px solid rgba(243,199,101,.43);color:var(--cream);background:rgba(14,29,50,.66);}.secondary-button:hover{background:rgba(57,107,107,.5);}.story-screen{padding-bottom:18px;}.scene-art{aspect-ratio:16 / 9;border-radius:var(--radius-xl);}.scene-number{margin:14px 0 2px;color:var(--gold);font:700 var(--type-meta)/1 ui-monospace,Consolas,monospace;letter-spacing:.12em;}.story-title{margin:7px 0 3px;color:var(--cream);font-size:clamp(21px,6vw,27px);line-height:1.3;}.story-copy{max-width:520px;margin:0;color:var(--muted);font-size:15px;line-height:1.65;text-wrap:pretty;}.choices{display:grid;gap:9px;margin-top:13px;}.choice-button{display:grid;grid-template-columns:28px 1fr;align-items:center;width:100%;min-height:54px;padding:10px 13px;border:1px solid rgba(243,199,101,.28);color:var(--cream);background:rgba(18,35,56,.91);box-shadow:0 6px 16px rgba(3,9,20,.18);font-size:14px;font-weight:650;text-align:left;line-height:1.48;}.choice-button:hover,.choice-button:focus-visible{border-color:var(--gold);background:#294d54;}.choice-key{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:var(--gold);background:rgba(243,199,101,.1);font:700 12px/1 Georgia,serif;}.result-screen{padding-bottom:30px;text-align:center;}.result-ticket{position:relative;overflow:hidden;padding:16px 18px 18px;border-radius:28px;color:var(--ink);background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 35%),linear-gradient(145deg,#ffe9a8,#e8a53e);box-shadow:0 0 44px rgba(243,199,101,.35),var(--shadow);}.result-ticket::before{content:"";position:absolute;inset:8px;border:1px solid rgba(91,60,22,.36);border-radius:21px;pointer-events:none;}.result-ticket.is-mutual{box-shadow:0 0 0 3px rgba(138,52,47,.7),0 0 48px rgba(243,199,101,.45),var(--shadow);}.result-kicker{position:relative;margin:0;color:#73501d;font:700 var(--type-meta)/1.35 ui-monospace,Consolas,monospace;letter-spacing:.12em;}.discovery-badge,.mutual-ticket-stamp{position:absolute;z-index:2;top:39px;margin:0;padding:6px 8px;border-radius:7px;font:800 10px/1.1 ui-monospace,Consolas,monospace;letter-spacing:.03em;}.discovery-badge{left:14px;color:#fff5d8;background:#2e6f70;transform:rotate(-3deg);}.mutual-ticket-stamp{right:14px;color:#fff3dc;background:#8a342f;transform:rotate(3deg);}.cat-portrait-wrap{position:relative;width:min(57vw,230px);aspect-ratio:1;margin:6px auto -2px;}.cat-portrait{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 9px rgba(72,44,20,.22));animation:cat-arrive 720ms cubic-bezier(.18,.88,.2,1.16) both;}@keyframes cat-arrive{from{opacity:0;transform:translateY(18px) scale(.88);}to{opacity:1;transform:none;}}.cat-portrait.plakai{animation:cat-arrive 720ms cubic-bezier(.18,.88,.2,1.16) both,plakai-idle 3.8s 1.1s ease-in-out infinite;transform-origin:50% 88%;}@keyframes plakai-idle{0%,100%{transform:translateY(0) rotate(0);}38%{transform:translateY(-2px) rotate(-.35deg);}44%{transform:translateY(-2px) rotate(.45deg);}52%{transform:translateY(0) rotate(0);}}.cat-name{position:relative;margin:0;color:#352718;font:700 clamp(36px,11vw,50px)/1 Georgia,serif;}.cat-thai{margin:2px 0;color:#69481e;font-size:16px;font-weight:800;line-height:1.35;}.cat-motif{margin:0 0 8px;color:#74511e;font-size:var(--type-helper);line-height:1.45;letter-spacing:.025em;}.cat-line{position:relative;max-width:390px;margin:8px auto;color:#352718;font-size:15.5px;font-weight:650;line-height:1.58;text-wrap:pretty;}.cat-message{position:relative;max-width:400px;margin:7px auto 0;padding-top:8px;border-top:1px solid rgba(80,53,22,.18);color:#5a3f1e;font-size:13px;line-height:1.65;text-wrap:pretty;}.traits{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;}.trait{padding:6px 9px;border:1px solid rgba(80,53,22,.2);border-radius:999px;background:rgba(255,255,255,.36);font-size:12px;font-weight:700;line-height:1.35;}.cat-letter{margin-top:13px;border:1px solid rgba(243,199,101,.4);border-radius:20px;color:var(--cream);background:linear-gradient(145deg,rgba(33,69,76,.84),rgba(14,28,47,.92));text-align:left;box-shadow:0 10px 28px rgba(0,0,0,.18);}.cat-letter summary{padding:13px 14px;color:var(--gold);cursor:pointer;font-size:14px;font-weight:800;line-height:1.45;}.cat-letter-body{display:grid;gap:9px;padding:0 13px 13px;}.cat-letter-body section{padding:10px 11px;border-radius:14px;background:rgba(255,255,255,.055);}.cat-letter-body p{margin:0 0 4px;color:var(--peach);font-size:var(--type-meta);font-weight:800;line-height:1.45;letter-spacing:.02em;}.cat-letter-body strong{display:block;color:#e5eceb;font-size:13px;font-weight:600;line-height:1.62;}.cat-letter-body .cat-small-step{border:1px dashed rgba(243,199,101,.42);background:rgba(243,199,101,.08);}.compatibility-card{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px;margin-top:13px;padding:12px 14px;border:1px solid rgba(243,199,101,.42);border-radius:20px;color:var(--cream);background:linear-gradient(135deg,rgba(42,92,95,.74),rgba(15,30,49,.9));box-shadow:0 10px 28px rgba(0,0,0,.2);text-align:left;}.compatibility-portrait{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 7px 5px rgba(0,0,0,.28));}.compatibility-copy{min-width:0;}.compatibility-kicker{margin:0 0 2px;color:var(--gold);font-size:var(--type-meta);font-weight:800;line-height:1.4;letter-spacing:.025em;}.compatibility-copy h2{margin:0;font:700 22px/1.15 Georgia,"Leelawadee UI",serif;}.compatibility-copy h2 span{color:#dbe5e3;font:700 12px/1.2 "Leelawadee UI",Tahoma,sans-serif;}.compatibility-copy>p:last-child{margin:5px 0 0;color:#dbe5e3;font-size:13px;line-height:1.55;}.mutual-label{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:999px;color:#ffe9a8;background:#8a342f;font-size:11px;line-height:1.35;}.epilogue-card{overflow:hidden;margin-top:13px;border:1px solid rgba(243,199,101,.34);border-radius:22px;color:var(--cream);background:rgba(11,25,44,.9);text-align:left;}.epilogue-scene{position:relative;height:174px;overflow:hidden;}.epilogue-bg{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.78);}.epilogue-scene::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(7,16,31,.74));}.epilogue-cat{position:absolute;z-index:2;bottom:-9px;width:47%;height:92%;object-fit:contain;filter:drop-shadow(0 9px 7px rgba(0,0,0,.34));}.epilogue-cat-left{left:6%;transform:rotate(-2deg);}.epilogue-cat-right{right:4%;transform:scaleX(-1) rotate(-2deg);}.epilogue-copy{padding:10px 14px 13px;text-align:center;}.epilogue-copy>p:first-child{margin:0;color:var(--gold);font-size:var(--type-meta);font-weight:800;line-height:1.4;}.epilogue-copy h2{margin:2px 0 5px;font:700 23px/1.15 Georgia,serif;}.epilogue-copy>p:last-child{margin:0;color:#dbe5e3;font-size:13px;line-height:1.62;text-wrap:pretty;}.compare-panel{margin-top:13px;border:1px solid rgba(243,199,101,.28);border-radius:18px;color:var(--cream);background:rgba(15,28,47,.72);text-align:left;}.compare-panel summary{padding:13px 14px;color:var(--cream);cursor:pointer;font-size:14px;font-weight:800;line-height:1.45;}.compare-body{display:grid;gap:10px;padding:0 13px 13px;}.compare-body label{color:var(--muted);font-size:13px;line-height:1.45;}.compare-body select{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(243,199,101,.45);border-radius:13px;color:var(--cream);background:#132b3d;font:inherit;}.duo-result{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:10px;padding:11px;border-radius:15px;background:rgba(42,92,95,.32);}.duo-result.is-mutual{box-shadow:inset 0 0 0 2px rgba(243,199,101,.6);background:rgba(138,52,47,.32);}.duo-cats{display:grid;grid-template-columns:1fr 17px 1fr;align-items:center;}.duo-cats img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;}.duo-cats span{color:var(--gold);text-align:center;font-weight:900;}.duo-score{margin:0;color:var(--gold);font:800 28px/1 Georgia,serif;}.duo-result h3{margin:2px 0 3px;font-size:14px;line-height:1.4;}.duo-result>div:last-child>p:last-child{margin:0;color:#dbe5e3;font-size:11px;line-height:1.52;}.collection-summary{display:grid;grid-template-columns:1fr 126px;align-items:center;gap:10px;margin-top:13px;padding:11px 13px;border:1px solid rgba(243,199,101,.24);border-radius:18px;color:var(--cream);background:rgba(15,28,47,.62);text-align:left;}.collection-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;}.collection-summary strong{color:var(--gold);font-size:16px;}.collection-summary .secondary-button{min-height:44px;padding:7px 9px;font-size:12px;}.card-style-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 0;padding:0;border:0;text-align:left;}.card-style-picker legend{grid-column:1 / -1;margin-bottom:6px;color:var(--muted);font-size:11px;}.card-style-picker label{position:relative;cursor:pointer;}.card-style-picker input{position:absolute;opacity:0;}.card-style-picker span{display:block;min-height:56px;padding:9px 11px;border:1px solid rgba(243,199,101,.3);border-radius:14px;color:var(--cream);background:rgba(14,29,50,.66);font-size:13px;font-weight:800;line-height:1.4;}.card-style-picker small{display:block;margin-top:3px;color:var(--muted);font-size:var(--type-meta);font-weight:500;line-height:1.4;}.card-style-picker input:checked + span{border-color:var(--gold);color:var(--gold);background:rgba(42,92,95,.62);box-shadow:inset 0 0 0 1px var(--gold);}.card-style-picker input:focus-visible + span{outline:3px solid #fff;outline-offset:2px;}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;}.result-actions .primary-button{grid-column:1 / -1;}.result-actions-primary .primary-button{grid-column:auto;}.share-copy-button{grid-column:1 / -1;}.share-action-hint{margin:10px 2px 0;color:#d5dce4;font-size:var(--type-helper);line-height:1.5;text-align:left;}.share-recovery{display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 8px;margin-top:10px;padding:10px 12px;border:1px solid rgba(243,199,101,.42);border-radius:14px;color:var(--cream);background:linear-gradient(135deg,rgba(42,92,95,.62),rgba(11,27,46,.9));text-align:left;}.share-recovery::before{grid-row:1 / 3;content:"X";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#091326;background:var(--gold);font:900 13px/1 ui-sans-serif,system-ui,sans-serif;}.share-recovery strong{color:var(--gold);font-size:13px;line-height:1.4;}.share-recovery span{color:#e1e6ec;font-size:var(--type-helper);line-height:1.5;}.share-recovery[hidden]{display:none;}.result-details{margin:12px 0 0;border:1px solid rgba(243,199,101,.22);border-radius:var(--radius-md);color:var(--muted);background:rgba(15,28,47,.64);text-align:left;}.result-details summary{padding:12px 14px;color:var(--cream);cursor:pointer;font-size:14px;font-weight:700;line-height:1.45;}.axis-list{display:grid;gap:14px;padding:0 14px 9px;}.axis-item{display:grid;gap:6px;}.axis-heading{color:var(--cream);font-size:13px;line-height:1.4;}.axis-reading{margin:-2px 0 0;color:#ffe2a0;font-size:11px;font-weight:800;line-height:1.45;}.axis-track{position:relative;display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(76,164,146,.62),rgba(255,255,255,.13) 47%,rgba(255,255,255,.13) 53%,rgba(243,199,101,.62));}.axis-track::before{content:"";position:absolute;top:-2px;bottom:-2px;left:50%;width:1px;background:rgba(255,246,232,.5);transform:translateX(-50%);}.axis-marker{position:absolute;top:50%;width:14px;height:14px;border:3px solid var(--cream);border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px rgba(8,17,33,.72),0 0 12px rgba(243,199,101,.55);transform:translate(-50%,-50%);transition:left 520ms cubic-bezier(.2,.8,.2,1);}.axis-poles{display:flex;justify-content:space-between;gap:16px;color:#aeb9c7;font-size:11px;line-height:1.4;}.axis-poles span:last-child{text-align:right;}.axis-note{margin:2px 14px 14px;padding-top:10px;border-top:1px solid rgba(243,199,101,.16);color:#c8d0d9;font-size:11px;line-height:1.55;}.axis-number-details{margin:0 14px 14px;border:1px dashed rgba(243,199,101,.28);border-radius:12px;background:rgba(7,17,31,.36);}.axis-number-details>summary{padding:9px 11px;color:var(--gold);font-size:11px;font-weight:800;cursor:pointer;}.axis-number-list{display:grid;gap:7px;padding:0 11px 10px;}.axis-number-list div{display:flex;justify-content:space-between;gap:14px;color:#c8d0d9;font-size:11px;line-height:1.4;}.axis-number-list strong{color:var(--cream);font-variant-numeric:tabular-nums;}.result-note{margin:11px 4px;color:#c0c7d1;font-size:11.5px;line-height:1.58;}.cat-share-title{position:relative;max-width:390px;margin:7px auto 0;color:#6d4819;font-size:14px;font-weight:900;line-height:1.45;text-wrap:balance;}.quiet-side-card{margin-top:13px;padding:12px 14px;border-left:4px solid var(--peach);border-radius:14px;color:var(--cream);background:rgba(138,52,47,.26);text-align:left;}.quiet-side-card p{margin:0 0 4px;color:var(--peach);font-size:var(--type-meta);font-weight:900;line-height:1.4;}.quiet-side-card strong{font-size:13px;font-weight:600;line-height:1.62;}.share-stage{margin-top:13px;padding:13px;border:1px solid rgba(243,199,101,.46);border-radius:21px;color:var(--cream);background:linear-gradient(150deg,rgba(42,92,95,.65),rgba(10,23,42,.94));box-shadow:0 12px 28px rgba(0,0,0,.2);text-align:left;}.share-stage-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;}.share-stage-heading p,.share-stage-heading h2{margin:0;}.share-stage-heading p{color:var(--gold);font:800 var(--type-meta)/1.3 ui-monospace,Consolas,monospace;letter-spacing:.1em;}.share-stage-heading h2{margin-top:3px;font-size:18px;line-height:1.35;}.share-stage-heading>span{flex:0 0 auto;color:var(--muted);font-size:var(--type-meta);line-height:1.35;}.card-style-options .card-style-picker{margin:0;padding:0 12px 12px;}.share-loop-note{display:grid;gap:2px;margin:10px 0;padding:9px 11px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;color:var(--cream);background:rgba(243,199,101,.09);font-size:var(--type-helper);line-height:1.45;}.share-loop-note strong{color:var(--gold);}.share-loop-note span{color:var(--muted);}.preview-button{width:100%;min-height:46px;margin-top:9px;border:1px dashed rgba(243,199,101,.56);border-radius:13px;color:var(--gold);background:rgba(7,17,31,.46);font:800 12px/1.4 inherit;}.preview-button:hover,.preview-button:focus-visible{border-style:solid;background:rgba(243,199,101,.1);}.share-preview{margin:11px 0 0;padding:8px;border-radius:15px;background:rgba(5,13,25,.64);text-align:center;}.share-preview[hidden]{display:none;}.share-preview>img{display:block;width:min(100%,360px);height:auto;aspect-ratio:4 / 5;margin:auto;border:1px solid rgba(243,199,101,.26);border-radius:12px;background:#091326;box-shadow:0 8px 20px rgba(0,0,0,.3);}.share-preview figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:min(100%,360px);margin:7px auto 0;color:var(--muted);font-size:var(--type-helper);line-height:1.4;text-align:left;}.share-preview-open{min-height:44px;padding:7px 10px;border:1px solid rgba(243,199,101,.48);border-radius:999px;color:var(--gold);background:#10253b;font-weight:800;white-space:nowrap;cursor:zoom-in;}.share-preview-open:hover,.share-preview-open:focus-visible{border-color:var(--gold);}.share-preview-dialog{width:min(calc(100% - 24px),900px);max-width:none;max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:1px solid rgba(243,199,101,.64);border-radius:20px;color:var(--cream);background:#091326;box-shadow:0 26px 80px rgba(0,0,0,.72);}.share-preview-dialog::backdrop{background:rgba(3,8,18,.88);backdrop-filter:blur(5px);}.share-preview-dialog-card{padding:12px;}.share-preview-dialog-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-12px -12px 12px;padding:11px 12px;border-bottom:1px solid rgba(243,199,101,.22);background:rgba(9,19,38,.96);}.share-preview-dialog-head strong{font-size:15px;line-height:1.4;}.share-preview-dialog-head button{min-width:58px;min-height:44px;border:1px solid rgba(243,199,101,.55);border-radius:999px;color:var(--gold);background:rgba(42,92,95,.4);cursor:pointer;}.share-preview-dialog img{display:block;width:min(100%,720px);height:auto;margin:auto;border-radius:13px;background:#091326;}.share-preview-dialog-card>p{margin:9px 0 0;color:var(--muted);font-size:var(--type-helper);text-align:center;}.deep-insight-body>.cat-message{max-width:none;margin:0;padding:11px;border:0;border-radius:14px;color:#e5eceb;background:rgba(243,199,101,.08);font-size:12px;}.collection-rewards{display:grid;gap:7px;margin:13px 0;padding:0;list-style:none;text-align:left;}.collection-reward{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;min-height:48px;padding:7px 10px;border:1px dashed rgba(151,164,179,.25);border-radius:13px;color:#7f8b9b;background:rgba(12,25,43,.55);}.collection-reward.is-earned{border-style:solid;border-color:rgba(243,199,101,.45);color:var(--cream);background:rgba(42,92,95,.35);}.reward-stamp{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;color:inherit;font:900 12px/1 Georgia,serif;transform:rotate(-5deg);}.collection-reward.is-earned .reward-stamp{color:var(--gold);box-shadow:inset 0 0 0 2px rgba(243,199,101,.14);}.collection-reward strong,.collection-reward small{display:block;}.collection-reward strong{font-size:12px;line-height:1.4;}.collection-reward small{margin-top:2px;font-size:10px;line-height:1.45;}.result-motion{position:absolute;z-index:2;color:rgba(138,52,47,.55);pointer-events:none;}.result-motion-a{top:20%;left:12%;font-size:22px;animation:result-spark 1.55s .55s ease-out both;}.result-motion-b{top:34%;right:13%;font-size:34px;animation:result-spark 1.35s .8s ease-out both;}@keyframes result-spark{0%{opacity:0;transform:scale(.2) rotate(-30deg);}40%{opacity:1;}100%{opacity:.18;transform:scale(1.35) rotate(22deg);}}[data-cat-motion="plakai"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-plakai 1.7s .72s ease-out both;}[data-cat-motion="muan"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-muan 1.6s .72s ease-out both;}[data-cat-motion="som"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-som 1.45s .72s ease-out both;}[data-cat-motion="nin"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-nin 1.8s .72s ease-out both;}[data-cat-motion="samsee"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-samsee 1.55s .72s ease-out both;}[data-cat-motion="tux"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-tux 1.65s .72s ease-out both;}[data-cat-motion="pui"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-pui 1.8s .72s ease-out both;}[data-cat-motion="yai"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-yai 1.55s .72s ease-out both;}[data-cat-motion="pao"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-pao 1.65s .72s ease-out both;}[data-cat-motion="pha"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-pha 1.35s .72s ease-out both;}[data-cat-motion="nom"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-nom 1.75s .72s ease-out both;}[data-cat-motion="oon"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-oon 1.5s .72s ease-out both;}[data-cat-motion="momo"] .cat-portrait{animation:cat-arrive .72s cubic-bezier(.18,.88,.2,1.16) both,cat-momo 1.55s .72s ease-out both;}@keyframes cat-plakai{35%{transform:translateY(-7px) rotate(-2deg);}60%{transform:translateY(-2px) rotate(2deg);}}@keyframes cat-muan{45%{transform:translateY(4px) scale(.98,1.03);}75%{transform:translateY(-2px);}}@keyframes cat-som{25%{transform:translateY(-11px) rotate(-3deg);}48%{transform:translateY(0) rotate(3deg);}70%{transform:translateY(-5px);}}@keyframes cat-nin{35%{transform:translateX(-5px) rotate(-1deg);filter:drop-shadow(0 12px 14px rgba(74,100,160,.48));}68%{transform:translateX(3px);}}@keyframes cat-samsee{32%{transform:rotate(-3deg) scale(1.03);}62%{transform:rotate(3deg);}}@keyframes cat-tux{30%{transform:translateY(-4px) rotate(2deg);}55%{transform:translateY(-4px) rotate(-2deg);}78%{transform:none;}}@keyframes cat-pui{45%{transform:scale(1.04,.97) translateY(3px);}78%{transform:scale(.99,1.01);}}@keyframes cat-yai{35%{transform:scale(1.055);}68%{transform:scale(1.015);}}@keyframes cat-pao{30%{transform:rotate(-2deg);}48%{transform:rotate(2deg);}66%{transform:rotate(-1deg);}}@keyframes cat-pha{28%{transform:translateX(9px) rotate(3deg);}50%{transform:translateX(-4px) rotate(-1deg);}}@keyframes cat-nom{40%{transform:translateY(-4px) scale(1.02);}70%{transform:translateY(2px);}}@keyframes cat-oon{38%{transform:translateY(-3px) rotate(-2deg);}60%{transform:rotate(1deg);filter:drop-shadow(0 12px 12px rgba(255,180,125,.42));}}@keyframes cat-momo{25%{transform:translateY(-8px) rotate(3deg);}47%{transform:translateY(-1px) rotate(-3deg);}72%{transform:translateY(-3px);}}.line-cta{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid rgba(80,208,91,.42);color:var(--cream);background:rgba(20,70,45,.35);text-align:left;text-decoration:none;}.line-cta:hover{background:rgba(20,90,51,.5);}.line-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#06c755;color:white;font-weight:900;}.line-copy strong,.line-copy small{display:block;}.line-copy strong{font-size:13px;line-height:1.4;}.line-copy small{margin-top:2px;color:#c8ddce;font-size:11px;line-height:1.45;}.collection-screen{padding-bottom:28px;text-align:center;}.collection-screen h1{margin:4px 0;color:var(--gold);font:700 clamp(27px,8vw,40px)/1.05 Georgia,"Leelawadee UI",serif;}.collection-screen>p:not(.eyebrow){margin:8px 0 15px;color:var(--muted);font-size:13px;line-height:1.58;}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;padding:0;list-style:none;}.collection-cat{min-width:0;padding:8px 5px;border:1px solid rgba(243,199,101,.24);border-radius:15px;color:var(--cream);background:rgba(15,28,47,.72);}.collection-cat.is-discovered{border-color:rgba(243,199,101,.5);background:linear-gradient(150deg,rgba(42,92,95,.68),rgba(15,28,47,.78));}.collection-image{display:grid;place-items:center;aspect-ratio:1;}.collection-image img{width:100%;height:100%;object-fit:contain;}.collection-image span{display:grid;place-items:center;width:58%;aspect-ratio:1;border:1px dashed rgba(243,199,101,.32);border-radius:50%;color:#68788a;font:700 26px/1 Georgia,serif;}.collection-cat strong,.collection-cat small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.collection-cat strong{color:var(--gold);font-size:13px;line-height:1.35;}.collection-cat small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35;}.collection-screen>.secondary-button{margin-top:9px;}.audio-settings{margin-top:10px;border:1px solid rgba(243,199,101,.24);border-radius:14px;color:var(--cream);background:rgba(12,28,47,.62);text-align:left;}.audio-settings summary{padding:10px 12px;color:var(--gold);cursor:pointer;font-size:12px;font-weight:800;line-height:1.45;}.quick-start-button{margin-top:8px;}.audio-settings{margin-top:9px;}.audio-settings label{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:9px;padding:0 12px 11px;color:var(--muted);font-size:11px;line-height:1.4;}.audio-settings input[type="range"]{width:100%;accent-color:var(--gold);}.scene-art .journey-light{position:absolute;z-index:2;inset:0;pointer-events:none;opacity:.42;mix-blend-mode:screen;transition:background 500ms ease,opacity 500ms ease;}.mood-social .journey-light{background:radial-gradient(circle at 28% 30%,rgba(255,198,105,.72),transparent 34%),radial-gradient(circle at 72% 42%,rgba(255,198,105,.55),transparent 28%);}.mood-action .journey-light{background:linear-gradient(105deg,transparent 20%,rgba(255,208,110,.58) 48%,transparent 70%);}.mood-affection .journey-light{background:radial-gradient(circle at 50% 65%,rgba(242,151,122,.62),transparent 48%);}.mood-curiosity .journey-light{background:linear-gradient(135deg,rgba(98,168,184,.45),transparent 42%,rgba(243,199,101,.36));}.mood-expression .journey-light{background:repeating-linear-gradient(115deg,transparent 0 28px,rgba(243,199,101,.18) 30px 32px);}.mood-social .scene-art img{filter:saturate(1.08) brightness(1.04);}.mood-action .scene-art img{filter:contrast(1.06) brightness(1.04);}.mood-affection .scene-art img{filter:sepia(.1) saturate(1.08);}.mood-curiosity .scene-art img{filter:hue-rotate(-7deg) saturate(1.07);}.mood-expression .scene-art img{filter:contrast(1.04) saturate(.96);}.cat-approach-screen{min-height:calc(100dvh - 84px);padding-bottom:20px;text-align:center;}.cat-approach-stage{position:relative;height:clamp(310px,55dvh,520px);overflow:hidden;border:1px solid rgba(243,199,101,.42);border-radius:30px;background:#091326;box-shadow:var(--shadow);}.cat-approach-bg{width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.72);}.cat-approach-stage::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 65%,transparent 0 18%,rgba(5,13,25,.44) 58%,rgba(5,13,25,.82));}.approach-rail-glow{position:absolute;z-index:1;right:7%;bottom:4%;width:60%;height:22%;border-radius:50%;background:radial-gradient(ellipse,rgba(243,199,101,.38),rgba(243,199,101,.1) 42%,transparent 72%);filter:blur(8px);opacity:.18;animation:approach-glow 1.2s ease-out both;}.approach-cat-shadow{position:absolute;z-index:2;right:8%;bottom:-5%;width:58%;height:72%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.44));opacity:.92;animation:approach-cat 1.3s ease-out both;}.approach-footsteps{position:absolute;z-index:3;left:18%;bottom:18%;display:flex;gap:22px;color:var(--gold);transform:rotate(-18deg);}.approach-footsteps i{opacity:0;font-size:34px;font-style:normal;text-shadow:0 0 12px rgba(243,199,101,.65);animation:footstep 1s ease-out forwards;}.approach-footsteps i:nth-child(2){animation-delay:.18s;}.approach-footsteps i:nth-child(3){animation-delay:.36s;}@keyframes footstep{0%{opacity:.08;transform:scale(.55);}30%{opacity:1;transform:scale(1);}100%{opacity:.4;}}@keyframes approach-glow{from{opacity:.08;transform:scale(.72);}to{opacity:.8;transform:none;}}@keyframes approach-cat{0%{opacity:.14;transform:translateX(30px) scale(.92);}38%{opacity:.45;}100%{opacity:.92;transform:none;}}.approach-kicker{margin:16px 0 4px;color:var(--gold);font:800 10px/1.35 ui-monospace,Consolas,monospace;letter-spacing:.09em;}.cat-approach-screen h1{margin:0;color:var(--cream);font-size:clamp(24px,7vw,34px);line-height:1.25;}.cat-approach-screen>p:not(.approach-kicker){color:var(--muted);font-size:14px;line-height:1.65;}.cat-calls-name{margin:6px auto 0;color:#8a342f;font-size:14px;font-weight:900;line-height:1.45;}.result-share-jump{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:14px auto 0;padding:9px 15px;border:1px solid rgba(47,36,24,.42);border-radius:999px;color:#fff0b5;background:#16293c;box-shadow:0 6px 14px rgba(47,36,24,.18);font-size:13px;font-weight:900;line-height:1.4;cursor:pointer;}.result-share-jump span{color:var(--gold);font-size:15px;}.result-share-jump:hover{background:#203d51;}.result-share-jump:focus-visible{outline:3px solid #2f2418;outline-offset:3px;}.duo-details{grid-column:1 / -1;display:grid;gap:7px;margin:2px 0 0;}.duo-details div{padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.055);}.duo-details dt{color:var(--gold);font-size:9px;font-weight:900;}.duo-details dd{margin:3px 0 0;color:#dbe5e3;font-size:10px;line-height:1.45;}.reward-card-button{margin-top:6px;padding:5px 8px;border:1px solid rgba(243,199,101,.46);border-radius:8px;color:var(--gold);background:rgba(7,16,31,.44);font:800 9px/1.2 inherit;}.collection-cat .collection-clue{overflow:visible;white-space:normal;text-overflow:clip;line-height:1.35;}.toast{position:fixed;z-index:20;left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:min(calc(100% - 32px),440px);padding:12px 16px;border:1px solid rgba(243,199,101,.5);border-radius:14px;color:var(--cream);background:rgba(7,16,31,.95);box-shadow:var(--shadow);transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity 180ms ease,transform 180ms ease;text-align:center;font-size:13px;}.toast.is-visible{opacity:1;transform:translate(-50%,0);}.loading-screen{display:grid;place-items:center;align-content:center;min-height:calc(100dvh - 80px);color:var(--muted);text-align:center;}.ticket-loader{color:var(--gold);font-size:48px;animation:loader 1.2s ease-in-out infinite;}@keyframes loader{50%{transform:rotate(20deg) scale(1.12);text-shadow:0 0 18px var(--gold);}}.noscript{padding:20px;text-align:center;}.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}@media (max-height:700px){.app{padding-top:max(4px,env(safe-area-inset-top));}.topbar{min-height:46px;}.round-button{width:44px;height:44px;}.hero-art{min-height:195px;max-height:35dvh;}.title-copy{margin:8px auto 11px;font-size:14px;}.eyebrow{margin-top:10px;}.prologue-stage{height:clamp(450px,calc(100dvh - 86px),590px);}.prologue-board{top:54px;}.prologue-ticket{top:33%;width:160px;height:80px;}.prologue-dialog{min-height:146px;padding:25px 15px 12px;}.prologue-copy{min-height:66px;font-size:14px;line-height:1.55;}.scene-art{max-height:160px;width:100%;}.story-title{font-size:20px;}.story-copy{font-size:13px;line-height:1.4;}.choices{gap:7px;margin-top:9px;}.choice-button{min-height:49px;padding:8px 11px;font-size:13px;}.result-ticket{padding-top:11px;}.cat-portrait-wrap{width:min(38dvh,172px);}.cat-name{font-size:35px;}.cat-line{font-size:13px;}.compatibility-card{grid-template-columns:58px 1fr;padding:9px 11px;}.compatibility-portrait{width:58px;height:58px;}.compatibility-copy h2{font-size:19px;}.compatibility-copy>p:last-child{font-size:11px;}.epilogue-scene{height:142px;}.epilogue-copy>p:last-child{font-size:11px;}.duo-result{grid-template-columns:95px 1fr;}}@media (max-width:350px){.topbar{gap:5px;}.brand-lockup span{font-size:10px;letter-spacing:.12em;}.brand-lockup small{font-size:8px;}.collection-grid{grid-template-columns:repeat(2,1fr);}.duo-result{grid-template-columns:82px 1fr;}.collection-summary{grid-template-columns:1fr 108px;}}@media (min-width:600px){:root{--tap:52px;--type-meta:13px;--type-helper:14px;}.app{width:min(100%,700px);padding-inline:26px;}.station-transition{width:min(100%,700px);}.topbar{min-height:60px;}.brand-lockup span{font-size:14px;}.brand-lockup small{font-size:10px;}.hero-whisper,.eyebrow{font-size:14px;}.game-title{font-size:52px;}.title-copy{max-width:560px;font-size:18px;line-height:1.68;}.title-ticket-label{font-size:11px;}.title-ticket-action{font-size:19px;}.title-play-note,.resume-note{font-size:12px;}.audio-settings summary{font-size:14px;}.audio-settings label{font-size:13px;}.prologue-dialog{min-height:184px;padding:31px 23px 18px;}.prologue-copy{min-height:92px;font-size:19px;line-height:1.72;}.prologue-speaker,.prologue-prompt,.prologue-skip{font-size:14px;}.scene-number{font-size:13px;}.story-title{font-size:30px;}.story-copy{max-width:620px;font-size:18px;line-height:1.72;}.choice-prompt{font-size:15px;}.choice-button{grid-template-columns:36px 1fr;min-height:64px;padding:13px 17px;font-size:17px;line-height:1.52;}.choice-key{width:30px;height:30px;font-size:14px;}.transition-ticket strong{font-size:21px;}.transition-reaction{font-size:17px;}.transition-ticket small{font-size:14px;}.transition-prompt{font-size:14px;}.cat-approach-screen h1{font-size:38px;}.cat-approach-screen>p:not(.approach-kicker){font-size:17px;}.approach-kicker{font-size:12px;}.result-ticket{padding:22px 25px 25px;}.result-kicker{font-size:12px;}.cat-portrait-wrap{width:250px;}.cat-name{font-size:54px;}.cat-thai{font-size:19px;}.cat-motif{font-size:14px;}.cat-share-title{font-size:18px;}.cat-calls-name{font-size:17px;}.cat-line{max-width:540px;font-size:18px;line-height:1.65;}.trait{font-size:14px;}.result-share-jump{min-height:48px;font-size:15px;}.compatibility-card{grid-template-columns:96px 1fr;gap:18px;padding:17px 19px;}.compatibility-portrait{width:96px;height:96px;}.compatibility-kicker{font-size:13px;}.compatibility-copy h2{font-size:28px;}.compatibility-copy h2 span,.compatibility-copy>p:last-child{font-size:16px;}.quiet-side-card p{font-size:13px;}.quiet-side-card strong{font-size:16px;}.share-stage-heading h2{font-size:24px;}.share-stage-heading p,.share-stage-heading>span{font-size:12px;}.card-style-picker span{min-height:66px;font-size:16px;}.card-style-picker small{font-size:13px;}.preview-button{min-height:52px;font-size:15px;}.primary-button,.secondary-button{font-size:16px;}.cat-letter summary,.compare-panel summary,.result-details summary{padding:16px 18px;font-size:17px;}.cat-letter-body p{font-size:13px;}.cat-letter-body strong,.deep-insight-body>.cat-message{font-size:16px;line-height:1.68;}.epilogue-copy>p:first-child{font-size:13px;}.epilogue-copy h2{font-size:29px;}.epilogue-copy>p:last-child{font-size:16px;}.compare-body label{font-size:15px;}.duo-result h3{font-size:17px;}.duo-result>div:last-child>p:last-child{font-size:14px;}.collection-summary p,.result-note{font-size:14px;}.collection-summary strong{font-size:20px;}.axis-list{gap:17px;}.axis-heading{font-size:16px;}.axis-reading{font-size:13px;}.axis-poles{font-size:13px;}.axis-note{font-size:14px;}.axis-number-details>summary,.axis-number-list div{font-size:13px;}.axis-track{height:10px;}.line-copy strong{font-size:16px;}.line-copy small{font-size:13px;}.collection-screen>p:not(.eyebrow){font-size:16px;}.collection-cat strong{font-size:16px;}.collection-cat small{font-size:12px;}}@media (min-width:780px){body::before,body::after{content:"";position:fixed;inset:0 50% 0 0;z-index:-1;opacity:.25;background:linear-gradient(90deg,#101b30,transparent),url("assets/backgrounds/title.webp") center/cover;filter:blur(7px);transform:scale(1.05);}body::after{inset:0 0 0 50%;transform:scaleX(-1.05) scaleY(1.05);}.app{border-inline:1px solid rgba(243,199,101,.12);background:rgba(8,16,31,.32);box-shadow:0 0 60px rgba(0,0,0,.3);}}@media (min-width:900px){:root{--tap:54px;--type-meta:14px;--type-helper:15px;}.app{width:min(100%,720px);padding-inline:30px;}.station-transition{width:min(100%,720px);}.topbar{min-height:62px;}.brand-lockup span{font-size:14px;}.brand-lockup small{font-size:10px;}.journey-progress{min-height:40px;}.station-dot{width:11px;height:11px;}.station-dot.is-current{width:29px;}.title-screen{min-height:calc(100dvh - 90px);}.hero-art{min-height:360px;max-height:420px;}.departure-board{min-width:190px;padding:10px 15px;font-size:14px;}.hero-whisper{font-size:14px;}.eyebrow{margin-top:20px;font-size:14px;}.game-title{font-size:60px;}.title-copy{max-width:580px;margin-block:14px 18px;font-size:20px;}.title-ticket-button{min-height:68px;padding-inline:24px 52px;}.title-ticket-label{font-size:11px;}.title-ticket-action{font-size:19px;}.collection-button{min-height:56px;padding:10px 16px;}.collection-button-copy small,.title-play-note{font-size:12px;}.collection-button-copy strong{font-size:15px;}.audio-settings summary{font-size:14px;}.audio-settings label{font-size:13px;}.prologue-stage{height:clamp(570px,calc(100dvh - 116px),790px);}.prologue-dialog{right:20px;bottom:20px;left:20px;width:calc(100% - 40px);min-height:190px;padding:32px 24px 18px;}.prologue-copy{min-height:102px;font-size:21px;line-height:1.72;}.prologue-speaker{font-size:14px;}.prologue-prompt{font-size:15px;}.prologue-skip{min-width:64px;min-height:46px;font-size:14px;}.scene-number{margin-top:18px;font-size:13px;}.story-title{margin-top:9px;font-size:34px;}.story-copy{max-width:650px;font-size:20px;line-height:1.72;}.choice-prompt{margin-top:16px;font-size:17px;}.choices{gap:11px;margin-top:10px;}.choice-button{grid-template-columns:38px 1fr;min-height:68px;padding:14px 18px;font-size:18px;}.choice-key{width:30px;height:30px;font-size:14px;}.transition-sprite{width:240px;}.transition-ticket{width:440px;min-height:148px;padding:52px 30px 21px;}.transition-ticket span{font-size:14px;}.transition-ticket strong{font-size:21px;}.transition-reaction{font-size:18px;}.transition-ticket small{font-size:15px;}.transition-prompt{font-size:15px;}.result-ticket{padding:22px 25px 25px;}.result-kicker{font-size:14px;}.cat-portrait-wrap{width:260px;}.cat-name{font-size:56px;}.cat-thai{font-size:20px;}.cat-motif{font-size:16px;}.cat-line{max-width:560px;font-size:20px;}.cat-message{max-width:570px;font-size:17px;}.cat-share-title{font-size:19px;}.trait{font-size:14px;}.cat-letter summary,.compare-panel summary,.result-details summary{padding:16px 18px;font-size:16px;}.cat-letter-body p{font-size:13px;}.cat-letter-body strong{font-size:17px;}.compatibility-card{grid-template-columns:92px 1fr;gap:17px;padding:16px 18px;}.compatibility-portrait{width:92px;height:92px;}.compatibility-kicker{font-size:14px;}.compatibility-copy h2{font-size:27px;}.compatibility-copy h2 span,.compatibility-copy>p:last-child{font-size:16px;}.epilogue-scene{height:230px;}.epilogue-copy>p:first-child{font-size:14px;}.epilogue-copy h2{font-size:28px;}.epilogue-copy>p:last-child{font-size:16px;}.compare-body label,.card-style-picker span{font-size:16px;}.duo-result>div:last-child>p:last-child,.card-style-picker small{font-size:14px;}.duo-details dt{font-size:12px;}.duo-details dd{font-size:13px;}.collection-summary p,.card-style-picker legend,.result-note{font-size:13px;}.share-stage-heading h2{font-size:23px;}.share-stage-heading p,.share-stage-heading>span{font-size:14px;}.preview-button{min-height:52px;font-size:16px;}.quiet-side-card p{font-size:14px;}.quiet-side-card strong,.deep-insight-body>.cat-message{font-size:17px;}.collection-reward strong{font-size:14px;}.collection-reward small{font-size:12px;}.collection-summary strong{font-size:19px;}.axis-list{gap:16px;padding:0 18px 10px;}.axis-heading{font-size:15px;}.axis-reading{font-size:12px;}.axis-poles{font-size:12px;}.axis-note{margin-right:18px;margin-left:18px;font-size:13px;}.axis-track{height:10px;}.line-copy strong{font-size:15px;}.line-copy small{font-size:12px;}.collection-screen>p:not(.eyebrow){font-size:15px;}.collection-grid{gap:11px;}.collection-cat strong{font-size:15px;}.collection-cat small{font-size:11px;}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}.ambient::after{display:none;}}@media (prefers-contrast:more){:root{--muted:#f3f4f7;}.choice-button,.secondary-button,.prologue-dialog,.prologue-skip,.result-details,.cat-letter,.compare-panel,.replay-options,.axis-number-details,.collection-cat,.card-style-picker span{border-color:var(--cream);}.station-dot{border-color:white;}}
