:root{color-scheme:dark;--gold:#e0c78f;--ink:#f3eedf;--muted:#bdb5a5;--line:#786849;font-family:'Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;background:#030303;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:#030303}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{cursor:pointer}a{color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff1ce;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{max-width:430px;margin:auto}#entry-screen{container-type:inline-size}.entry-stage{min-height:216.6667cqw;background:#020202;position:relative}.entry-art{height:151.3cqw;overflow:hidden;pointer-events:none}.entry-art img{display:block;width:100%;height:auto}.fortune-form{padding:0 6.7cqw}.form-row{margin:0 0 4.1cqw}.form-row label{display:block;font-size:4.1cqw;line-height:6.15cqw;letter-spacing:.065em;margin-bottom:2.05cqw}.form-row input{appearance:none;display:block;box-sizing:border-box;width:100%;height:11.05cqw;min-height:44px;padding:0 3.85cqw;border:1px solid #b79c65;border-radius:4px;background:#0d0c09;color:#f0e8d5;font-size:16px;line-height:1.25;box-shadow:inset 0 0 0 1px #3d3528}input::placeholder{color:#898276;opacity:1}.date-wrap{position:relative}.date-placeholder{position:absolute;inset:0 auto 0 3.85cqw;display:flex;align-items:center;pointer-events:none;color:#898276;font-size:16px;letter-spacing:.03em}.date-wrap input{color:transparent}.date-wrap.has-value input,.date-wrap input:focus{color:#f0e8d5}.date-wrap.has-value .date-placeholder,.date-wrap:focus-within .date-placeholder{display:none}.date-wrap input::-webkit-calendar-picker-indicator{opacity:.5}.primary-button{display:flex;width:100%;justify-content:center;align-items:center;min-height:48px;border:1px solid #edce8c;border-radius:8px;background:#382d1c;box-shadow:inset 0 0 13px #67502c,0 0 7px #b2985355;color:#fff5dd;text-decoration:none;font-size:20px;line-height:1.5;text-align:center;padding:10px 16px}.fortune-form .primary-button{margin-top:1.55cqw;height:12.3cqw;font-size:6.1cqw;letter-spacing:.13em}.primary-button:hover{background:#493b24}.primary-button:active{transform:translateY(1px)}.form-error{font-family:system-ui,sans-serif;color:#ffcfb0;font-size:14px;line-height:1.6;margin:12px 0 0}.review-footer{padding:14px 26px 26px;background:#050504;text-align:center;font-family:system-ui,sans-serif;font-size:12px;line-height:1.75;color:var(--muted)}.review-footer p{margin:8px 0}.review-footer a{display:inline-block;padding:12px;font-size:14px}.result-screen{padding:0 25px 32px;background:#080807;min-height:100vh}.result-header{display:flex;align-items:center;justify-content:space-between;padding:18px 0 0;gap:12px}.text-button{background:none;border:0;color:var(--gold);font-family:system-ui,sans-serif;font-size:14px;padding:12px 0;display:inline-block;text-decoration:none}.private-label{font:10px system-ui,sans-serif;color:#a9956a;letter-spacing:.13em}.result-brand{height:108px;position:relative;overflow:hidden;margin:8px -10px 15px}.result-brand img{width:100%;height:auto;position:absolute;top:50%;transform:translateY(-50%)}.eyebrow{text-align:center;font:12px system-ui,sans-serif;letter-spacing:.17em;color:#c1ab7e;margin:15px 0}.result-screen h1{font-size:40px;letter-spacing:.2em;text-align:center;font-weight:400;margin:20px 0 5px;padding-left:.2em;outline:none}.result-code{text-align:center;font-size:16px;letter-spacing:.22em;color:#bfa779;margin:0 0 28px}.pending-visual{border:1px solid #554a34;padding:32px 16px;margin:24px 0 36px;text-align:center;color:#bdb19b;background:#0d0c0a;min-height:126px}.pending-visual p{font-size:17px;margin:0 0 9px}.pending-visual span{font:12px system-ui,sans-serif}.result-copy h2,.participation h2,.compass-note h2{font-size:15px;font-weight:400;color:#d7bd85;letter-spacing:.1em;margin:0 0 15px}.result-copy p{font-size:16px;line-height:2.2;letter-spacing:.035em;overflow-wrap:anywhere;margin:0}.participation{border-top:1px solid #493f2c;border-bottom:1px solid #493f2c;padding:25px 0;margin:30px 0}.participation p{font-size:18px;line-height:1.9;margin:0}.compass-note{font-family:system-ui,sans-serif;padding:0 0 18px}.compass-note h2{font-family:inherit}.compass-note p,.safety-note,.local-note{font:12px/1.9 system-ui,sans-serif;color:var(--muted)}.safety-note{margin:0 0 26px}.share-button{font:16px system-ui,sans-serif;min-height:52px}.secondary-button{font:15px system-ui,sans-serif;border:1px solid #675a3f;background:#12110e;color:#e0d6bd;width:100%;min-height:46px;padding:12px;border-radius:7px;margin-top:12px}.secondary-button:hover{background:#211d15}.local-note{text-align:center;margin-top:24px}dialog{width:calc(100% - 32px);max-width:382px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #a58a54;border-radius:12px;background:#10100e;color:var(--ink);box-shadow:0 18px 80px #000d}dialog::backdrop{background:#000c}.dialog-inner{padding:24px}.dialog-inner h2{font-size:22px;font-weight:400;margin:18px 0}.dialog-inner>p:not(.eyebrow){font:14px/1.8 system-ui,sans-serif}.dialog-inner .share-draft{white-space:pre-wrap;background:#070706;border:1px solid #4a402b;padding:16px;margin:22px 0;overflow-wrap:anywhere}.dialog-note{color:var(--muted)}.dialog-inner .primary-button{font:16px system-ui,sans-serif;margin-top:20px}.motion-review{max-width:430px;margin:auto;padding:24px;color:var(--ink);font:15px/1.9 system-ui,sans-serif}.motion-review h1{font-size:25px;font-weight:500}.motion-review video{width:100%;display:block;max-height:68vh;background:#000;margin:22px 0}.pending-copy{color:#c4b99f}.motion-review .eyebrow{text-align:left;margin-top:30px}@media(max-width:350px){.entry-stage{min-height:222cqw}.fortune-form{padding-bottom:24px}.form-row{margin-bottom:16px}.form-row label{font-size:14px;line-height:22px}.form-row input{height:44px}.fortune-form .primary-button{min-height:48px;font-size:22px;margin-top:18px}.result-screen{padding-inline:20px}.result-header .private-label{font-size:9px}.dialog-inner{padding:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.result-compass{margin:0 0 16px}.result-compass img{display:block;width:100%;height:auto;object-fit:contain;background:#000}.result-compass figcaption{font:12px/1.8 system-ui,sans-serif;color:var(--muted);margin-top:10px}

.flash-note{font:12px/1.7 system-ui,sans-serif;color:#c5bdad;margin:10px 0}.skip-option{display:flex;align-items:center;gap:8px;font:14px/1.8 system-ui,sans-serif;min-height:44px;margin:8px 0 12px}.skip-option input{width:20px;height:20px;accent-color:#d9ba79}.motion-screen{background:#000;min-height:100dvh}.motion-stage{position:relative;aspect-ratio:720/1560;width:100%;overflow:hidden;perspective:1100px}.motion-stage video{display:block;width:100%;height:100%;object-fit:contain}.motion-white{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.motion-card{position:absolute;inset:7%;display:flex;align-items:center;justify-content:center;opacity:0;transform:rotateY(90deg);will-change:transform,opacity;pointer-events:none}.motion-card-face{width:100%;min-height:63%;padding:28px 20px;border:1px solid #d7bd85;border-radius:12px;background:linear-gradient(155deg,#171510,#080807);box-shadow:0 0 26px #d9ba7966;text-align:center;display:flex;flex-direction:column;justify-content:center;backface-visibility:hidden}.motion-card h2{font-size:32px;letter-spacing:.15em;color:#f2dfb7;margin:24px 0 14px}.motion-card p{overflow-wrap:anywhere}.motion-card #motion-card-code{font:16px system-ui;letter-spacing:.12em;color:#d7bd85}.motion-card #motion-card-participation{font:17px/1.9 serif;margin:24px 0}.motion-controls{padding:12px 24px 24px;font-family:system-ui,sans-serif}.motion-controls .text-button{min-height:44px}.motion-controls #motion-status{font-size:14px;color:#e0c78f}.motion-stage:focus{outline:none}@media(prefers-reduced-motion:reduce){.motion-card{will-change:auto}}

.motion-card{z-index:2}.motion-white{z-index:3}

.motion-screen{display:flex;flex-direction:column;height:100dvh;min-height:420px}.motion-stage{flex:1;min-height:0;aspect-ratio:auto}.motion-stage video{position:absolute;inset:0;object-fit:contain}.motion-controls{flex:none;padding:8px 18px 12px}.motion-controls .flash-note{margin:4px 0;font-size:11px}.motion-controls #motion-status{margin:4px 0;outline:none}.motion-controls .secondary-button{margin-top:6px}.motion-controls .text-button{padding:8px 0}.motion-card-face{min-height:70%;max-height:100%;padding:18px;overflow:auto}.motion-card h2{margin:14px 0;font-size:clamp(20px,6vw,32px)}.motion-card #motion-card-participation{font-size:14px;line-height:1.65;margin:12px 0}

/* Private review candidate. Backgrounds are separate from diagnostic DOM data. */
.result-art-card{--card-paper:#071814;--card-ink:#eee4c9;--card-accent:#d4b875;color:var(--card-ink);background:var(--card-paper)}
.result-art-card[data-card-id=START]{--card-paper:#f4e4c1;--card-ink:#123449;--card-accent:#aa3f18}
.result-art-card[data-card-id=GROW]{--card-paper:#f6f0e5;--card-ink:#17395b;--card-accent:#124ac5}
.result-art-card[data-card-id=DEFINE]{--card-paper:#fff;--card-ink:#171717;--card-accent:#102bd7}
.result-art-card[data-card-id=RECOVER]{--card-paper:#e5e6d6;--card-ink:#173747;--card-accent:#3a5260}
.result-art-card[data-card-id=FLOW]{--card-paper:#051341;--card-ink:#f0f5ff;--card-accent:#8adaff}
.result-art-card[data-card-id=REBALANCE]{--card-paper:#100e0e;--card-ink:#f1ede6;--card-accent:#ee4942}
.result-art-card[data-card-id=RECONNECT]{--card-paper:#f7e6cd;--card-ink:#17474a;--card-accent:#a93527}
.result-art-card[data-card-id=GATHER]{--card-paper:#ead6ad;--card-ink:#2e322f;--card-accent:#63451c}
.result-art-card[data-card-id=QUIET]{--card-paper:#061529;--card-ink:#f3e8bc;--card-accent:#dcce65}
.result-art-card[data-card-id=PAUSE]{--card-paper:#f1eee9;--card-ink:#171717;--card-accent:#a93d0b}
.result-art-card[data-card-id=CLEAR]{--card-paper:#edf5fc;--card-ink:#143c65;--card-accent:#175bbe}
.card-art{position:relative;aspect-ratio:var(--art-ratio);width:100%;container-type:inline-size}
.result-artwork-image{display:block;width:100%;height:100%;object-fit:contain}
.artwork-date{font:12px/1.5 system-ui,sans-serif;letter-spacing:.12em;text-align:center;margin:0;padding:14px 12px;color:var(--card-ink)}
.artwork-name{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--card-accent);text-align:center;pointer-events:none}
.artwork-name .artwork-code{font-size:clamp(8px,var(--name-size),58px);font-weight:600;line-height:1;letter-spacing:0;margin:0;white-space:nowrap}
.artwork-name #result-title{font-size:clamp(8px,var(--name-size),58px);font-weight:600;line-height:1;letter-spacing:0;margin:0;padding:0;outline:none;color:var(--card-accent);white-space:nowrap}
.result-art-card[data-card-id=REBALANCE] .artwork-code,.result-art-card[data-card-id=PAUSE] .artwork-code{font-family:Impact,'Arial Narrow',system-ui,sans-serif;font-weight:800}
.artwork-participation{position:absolute;display:flex;align-items:center;justify-content:center;margin:0!important;font-size:clamp(10px,3.4cqw,16px);line-height:1.55;text-align:center;color:var(--card-ink);overflow:hidden;visibility:hidden;pointer-events:none}
.card-content{padding:25px 24px 4px}
.card-content .result-copy h2,.card-content .participation h2{color:var(--card-accent);font-size:15px;letter-spacing:.08em}
.card-content #result-body{font-size:16px;line-height:2.1;letter-spacing:.02em;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.card-content .participation{border-color:color-mix(in srgb,var(--card-accent) 35%,transparent);margin:26px 0;padding:22px 0}
.card-content #result-participation{font-size:18px;line-height:1.85;overflow-wrap:anywhere}
.result-art-card[data-mode=reveal]{height:100%;width:auto;max-width:100%;aspect-ratio:var(--art-ratio);background:none}
.result-art-card[data-mode=reveal] .card-art{height:100%;width:100%}
.result-art-card[data-mode=reveal] .card-content,.result-art-card[data-mode=reveal] .artwork-date{display:none}
.motion-card{inset:5%;overflow:visible}
.motion-card .result-art-card{box-shadow:0 0 24px #dec99044}
.result-screen{padding:0 0 30px}
.result-screen .result-header{padding:8px 20px 0}
.artwork-review-note{font:11px/1.6 system-ui,sans-serif;color:#cbb78c;text-align:center;padding:0 16px;margin:8px 0 12px}
.result-screen>.compass-note,.result-screen>.safety-note{margin-inline:22px}
.result-screen>.primary-button,.result-screen>.secondary-button{width:calc(100% - 44px);margin-inline:22px}
.result-screen>.local-note{margin-inline:20px}
@media(max-width:350px){.card-content{padding-inline:18px}}


.artwork-rank{margin:0!important;padding:2px 12px 12px;color:var(--card-ink);font:16px/1.6 system-ui,sans-serif;text-align:center;overflow-wrap:anywhere}.result-art-card[data-mode="reveal"] .artwork-rank{font-size:clamp(10px,3.6cqw,16px);padding:2px 4px 6px}
.result-art-card{position:relative}.result-art-card[data-mode="reveal"] .artwork-rank{position:absolute;inset:0 0 auto;z-index:2;background:var(--card-paper);border-bottom:1px solid color-mix(in srgb,var(--card-accent) 25%,transparent)}

/* Width determines media size. The tall stage scrolls; controls remain reachable. */
.motion-screen{display:block;height:auto;min-height:100dvh;padding-bottom:240px}
.motion-stage{width:100%;height:auto;min-height:0;aspect-ratio:var(--motion-stage-ratio,720 / 1560);flex:none}
.motion-stage video{position:absolute;inset:0 auto auto 0;width:100%;height:auto;object-fit:contain}
.motion-card{inset:0;display:flex;align-items:flex-start;justify-content:center}
.result-art-card[data-mode="reveal"]{width:100%;height:auto;max-width:none;aspect-ratio:var(--art-ratio)}
.result-art-card[data-mode="reveal"] .card-art{width:100%;height:auto;aspect-ratio:var(--art-ratio)}
.motion-controls{position:fixed;inset:auto 0 0;max-width:430px;margin-inline:auto;z-index:5;background:#080808f5;padding:8px 18px 12px}

/* Five distinct cards belong to the same frozen fortune snapshot. */
.poker-hand{position:absolute;inset:auto 3% 30%;padding:1.5cqw;border-radius:2cqw;background:#10141ce8;color:#fff;box-shadow:0 1cqw 3cqw #0005}
.poker-hand-label{margin:0 0 1.5cqw;font:bold 3.5cqw/1.3 system-ui,sans-serif;letter-spacing:.08em;text-align:center}
.poker-hand-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4cqw}
.playing-card{height:34cqw;padding:0;background:#fffdf7;border-radius:1.5cqw;color:#111b28;border:0;display:flex;flex-direction:column;justify-content:center;gap:0;align-items:center;box-shadow:0 .6cqw 1cqw #0005}
.playing-rank{font:bold 12.9cqw/.95 system-ui,sans-serif}.playing-suit{font:17.5cqw/.95 Georgia,serif;align-self:center}
.playing-card-red{color:#bb132e}.playing-card-featured{outline:2px solid #e7c363;box-shadow:0 0 2cqw #e7c363a0}
.playing-card-joker{background:linear-gradient(150deg,#fff8dc,#ffecc8);color:#624923}.playing-card-joker .playing-rank{font-size:2.7cqw;letter-spacing:-.03em}.joker-face{display:block;object-fit:contain;width:100%;height:18.5cqw;min-height:0}

/* User-designated 2:3 joker image, complete with a separate HTML JOKER label. */
.playing-card-joker{padding:0;background:#fffdf7;border:0;overflow:hidden;justify-content:flex-start;gap:0}.playing-card-joker .playing-rank{flex:none;color:#111b28;font:bold 3.2cqw/1.1 system-ui,sans-serif;letter-spacing:0;padding:.5cqw 0}
.joker-artwork{display:block;width:100%;height:0;flex:1;object-fit:contain;min-height:0;border-radius:inherit}
