:root{--color-paper:#f4f0e8;--color-paper-card:#fffdf8;--color-ink:#15222d;--color-night:#07111f;--color-night-card:#0e1a2b;--color-night-raised:#15243a;--color-night-text:#f2efe7;--color-muted:#a9b5c4;--color-line:#2b3b52;--color-control-border-night:#607695;--color-a-cyan:#45d6e7;--color-a-cyan-ink:#176a76;--color-b-amber:#f2b95f;--color-b-amber-ink:#8a5a00;--color-success-night:#68d39c;--color-success-paper:#237a4b;--color-warning-night:#f4d06f;--color-warning-paper:#765600;--color-danger-night:#f07d83;--color-danger-paper:#b93832;--color-focus-night:#ffe08a;--color-focus-paper:#1d4ed8;--font-stack:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", sans-serif;--font-size-small:14px;--font-size-body:16px;--font-size-heading-small:20px;--font-size-heading-medium:28px;--font-size-heading-large:40px;--line-height:1.6;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--content-max:720px;--gutter:16px;--button-min-height:48px;--tap-target-min:44px;--radius-card:12px;--radius-panel:16px;--motion-duration:.16s;--motion-translate:4px}[data-theme=paper]{--surface:var(--color-paper);--surface-card:var(--color-paper-card);--surface-raised:var(--color-paper-card);--text:var(--color-ink);--text-muted:var(--color-ink);--border:var(--color-ink);--border-control:var(--color-ink);--accent-a:var(--color-a-cyan-ink);--accent-b:var(--color-b-amber-ink);--success:var(--color-success-paper);--warning:var(--color-warning-paper);--danger:var(--color-danger-paper);--focus-ring:var(--color-focus-paper)}[data-theme=night]{--surface:var(--color-night);--surface-card:var(--color-night-card);--surface-raised:var(--color-night-raised);--text:var(--color-night-text);--text-muted:var(--color-muted);--border:var(--color-line);--border-control:var(--color-control-border-night);--accent-a:var(--color-a-cyan);--accent-b:var(--color-b-amber);--success:var(--color-success-night);--warning:var(--color-warning-night);--danger:var(--color-danger-night);--focus-ring:var(--color-focus-night)}*,:before,:after{box-sizing:border-box}html{scroll-padding-bottom:calc(var(--button-min-height) + var(--space-5))}body{min-width:320px;font-family:var(--font-stack);font-size:var(--font-size-body);line-height:var(--line-height);background:var(--surface);color:var(--text);margin:0}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:2px}a{color:inherit}button,a,input,select,textarea{font:inherit}.app-shell{background:var(--surface);min-height:100dvh;color:var(--text);flex-direction:column;display:flex}.app-main{width:100%;max-width:var(--content-max);padding:var(--space-4) var(--gutter) calc(var(--space-6) + env(safe-area-inset-bottom,0px));flex:1;margin:0 auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--gutter);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);display:flex}.app-header__logo{font-size:var(--font-size-heading-small);letter-spacing:.04em;margin-right:auto;font-weight:700;text-decoration:none}.app-header__case{font-size:var(--font-size-small);letter-spacing:.08em;color:var(--text-muted);margin-right:auto}.app-header__link{min-height:var(--tap-target-min);padding:0 var(--space-2);align-items:center;display:inline-flex}.app-footer{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--gutter) calc(var(--space-5) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.app-footer a{min-height:var(--tap-target-min);align-items:center;display:inline-flex}.btn{min-height:var(--button-min-height);min-width:var(--tap-target-min);padding:0 var(--space-4);border-radius:var(--radius-card);border:2px solid var(--border-control);font-size:var(--font-size-body);cursor:pointer;transition:transform var(--motion-duration) ease;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.btn--compact{min-height:var(--tap-target-min);padding:0 var(--space-3);font-size:var(--font-size-small)}.btn--primary{background:var(--text);color:var(--surface);border-color:var(--text)}.btn--secondary{color:var(--text);background:0 0}.btn:active{transform:translateY(var(--motion-translate))}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-4);margin-top:var(--space-5)}.card--raised{background:var(--surface-raised)}.card__heading{font-size:var(--font-size-heading-small);margin-bottom:var(--space-3)}.role-badge{align-items:center;gap:var(--space-2);font-weight:700;display:inline-flex}.role-badge__mark{width:16px;height:16px;display:inline-block}.role-badge__mark--a{background:var(--accent-a);border-radius:50%}.role-badge__mark--b{background:var(--accent-b);transform:rotate(45deg)}.role-badge--a{color:var(--accent-a)}.role-badge--b{color:var(--accent-b)}.hero{padding:var(--space-6) 0 var(--space-5)}.hero__logo{font-size:var(--font-size-heading-large);letter-spacing:.06em;font-weight:700}.hero__brand{font-size:var(--font-size-small);letter-spacing:.16em;color:var(--text-muted);margin-top:var(--space-2)}.hero__headline{font-size:var(--font-size-heading-medium);margin-top:var(--space-5)}.hero__subcopy{margin-top:var(--space-3);max-width:36em}.hero .btn{margin-top:var(--space-5)}.assurances{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.assurance{border:1px solid var(--border);padding:var(--space-1) var(--space-3);font-size:var(--font-size-small);border-radius:999px}.hero__duration{margin-top:var(--space-3);font-size:var(--font-size-small)}.steps{gap:var(--space-3);display:grid}.step{gap:var(--space-1) var(--space-3);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.step__number{font-size:var(--font-size-heading-small);grid-row:span 2;font-weight:700}.step__title{font-weight:700}.step__body{font-size:var(--font-size-small);grid-column:2}.dialog-backdrop{padding:var(--gutter);background:color-mix(in srgb, var(--color-night) 70%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-4);width:100%;max-width:32em}.dialog__title{font-size:var(--font-size-heading-small)}.dialog__body{margin-top:var(--space-3)}.dialog__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.actions--sticky{padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);position:sticky;bottom:0}@media (width<=359px),(height<=480px){.actions--sticky{position:static}}.case-detail__label,.case-result__label{font-size:var(--font-size-small);letter-spacing:.12em}.case-detail__title,.case-result__title{font-size:var(--font-size-heading-medium);margin-top:var(--space-1)}.case-detail__meta{margin-top:var(--space-2);font-size:var(--font-size-small)}.case-detail__summary{margin-top:var(--space-5)}.case-detail__notice{margin-top:var(--space-3);font-size:var(--font-size-small)}.steps--cards{gap:var(--space-3);display:grid}.setting,.option{align-items:center;gap:var(--space-3);min-height:var(--tap-target-min);display:flex}.answer{border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-4);margin-top:var(--space-5)}.answer__prompt,.answer legend{padding:0 var(--space-2);font-weight:700}.answer .btn{margin-top:var(--space-3)}.invite-text{font-size:var(--font-size-small);line-height:var(--line-height)}.note{margin-top:var(--space-3);font-size:var(--font-size-small);color:var(--text-muted)}.status-line{margin-top:var(--space-4);color:var(--text-muted)}.role-reveal__title{font-size:var(--font-size-heading-medium);margin-bottom:var(--space-4)}.case-play__role{margin-bottom:var(--space-3)}.case-play__heading{font-size:var(--font-size-heading-small)}.case-play__tell{margin-top:var(--space-4);font-size:var(--font-size-small)}.clue{gap:var(--space-2) var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.clue__label{font-size:var(--font-size-small);color:var(--text-muted)}.clue__value{font-weight:700}.record-list__heading{margin-top:var(--space-4);font-size:var(--font-size-small)}.record-list{margin-top:var(--space-2);border-left:2px solid var(--border-control);padding-left:var(--space-3);gap:var(--space-2);display:grid}.case-result__ending{margin-top:var(--space-4);font-size:var(--font-size-heading-small);font-weight:700}.case-result__pair{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.case-result__connected{font-size:var(--font-size-small);letter-spacing:.12em}.case-result__brand{margin-top:var(--space-3);font-size:var(--font-size-small);letter-spacing:.16em;color:var(--text-muted)}.error-message{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--danger);border-radius:var(--radius-card);color:var(--danger)}.checklist{margin:var(--space-3) 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.checklist__item{border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-3)}.countdown{font-size:var(--font-size-heading-large);text-align:center;margin:var(--space-5) 0}.success-band{border-left:3px solid var(--success);color:var(--success);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.feedback{color:var(--danger);margin:var(--space-2) 0}.hint-sheet{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-4);margin-top:var(--space-3);gap:var(--space-3);display:grid}.hint__label{font-size:var(--font-size-body);margin:0 0 var(--space-1)}.hint__text{margin:0}.final-choice__instruction{color:var(--text-muted)}.final-choice__confirmed{font-size:var(--font-size-heading-small)}.final-choice__confirm{border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--space-3);margin-top:var(--space-3)}.ending__number{color:var(--text-muted);letter-spacing:.08em}.ending__body{white-space:pre-wrap}.legal{gap:var(--space-5);flex-direction:column;display:flex}.legal section{gap:var(--space-3);flex-direction:column;display:flex}.legal__heading{font-size:var(--font-size-body);font-weight:700}.legal__paragraph{line-height:1.9}.legal__list{gap:var(--space-3);padding-left:var(--space-5);flex-direction:column;line-height:1.9;display:flex}.legal__list li{list-style:revert}.legal__table-scroll{overflow-x:auto}.legal__table{border-collapse:collapse;text-align:left;min-width:20rem}.legal__table th,.legal__table td{border:1px solid var(--border);padding:var(--space-3);vertical-align:top}.legal a{overflow-wrap:anywhere}.legal__stamps{gap:var(--space-4);font-size:var(--font-size-small);color:var(--text-muted);flex-wrap:wrap;display:flex}
