:root{color-scheme:light;--ink: #3f3540;--muted: #7f747d;--pink: #e86f8d;--pink-dark: #cb4f70;--pink-soft: #fff0f4;--peach: #fff8f4;--yellow: #f2b950;--line: #eadfe3;--card: #ffffff;--shadow: 0 12px 34px rgba(102, 68, 83, .1)}*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%;background:var(--peach);-webkit-text-size-adjust:100%;touch-action:manipulation}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 12% 4%,rgba(255,217,119,.18),transparent 26rem),radial-gradient(circle at 92% 28%,rgba(232,111,141,.1),transparent 24rem),var(--peach);font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic,system-ui,sans-serif;line-height:1.65}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;min-height:58px;padding:env(safe-area-inset-top) 12px 0;border-bottom:1px solid rgba(234,223,227,.8);background:#fff8f4eb;backdrop-filter:blur(12px)}.app-header p{margin:0;text-align:center;font-size:.86rem;font-weight:700;letter-spacing:.04em}.back-link{display:grid;width:42px;height:42px;place-items:center;color:var(--ink);text-decoration:none;font-size:2rem}.reset-button{padding:10px 0;border:0;color:var(--muted);background:transparent;font-size:.78rem;cursor:pointer}.app-shell{width:min(100%,680px);margin:0 auto;padding:30px 18px calc(54px + env(safe-area-inset-bottom))}.view{min-height:calc(100vh - 142px)}.hero{padding:12px 0 26px;text-align:center}.hero-mark,.celebration{display:grid;width:58px;height:58px;margin:0 auto 12px;place-items:center;border:1px solid #f4cad5;border-radius:50%;color:var(--pink);background:#fff;box-shadow:0 7px 20px #e86f8d21;font-size:1.8rem}.eyebrow{margin:0 0 7px;color:var(--pink-dark);font-size:.7rem;font-weight:800;letter-spacing:.18em}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(1.8rem,7vw,2.7rem);line-height:1.3;letter-spacing:.02em}.hero>p:last-child{margin:15px 0 0;color:var(--muted);font-size:.92rem}.mode-list{display:grid;gap:11px}.mode-card{display:grid;grid-template-columns:52px 1fr 20px;gap:13px;align-items:center;width:100%;min-height:78px;padding:12px 15px;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:#fffffff0;box-shadow:0 4px 15px #5d414d0d;text-align:left;cursor:pointer}.mode-card:active{transform:scale(.985)}.mode-card strong,.mode-card small{display:block}.mode-card strong{font-size:1rem}.mode-card small{margin-top:2px;color:var(--muted);font-size:.77rem}.chevron{color:#c7b7bd;font-size:1.7rem}.mode-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;font-size:1.45rem;font-weight:800}.number-icon{color:#d15f79;background:#fff0f4}.artist-icon{color:#b67b16;background:#fff6df}.rule-icon{color:#6956a8;background:#f1edff}.favorite-icon{color:#d55580;background:#fff0f6}.free-icon{color:#248c87;background:#e9f8f6}.local-note{margin:20px 0 0;color:#a09299;text-align:center;font-size:.72rem}.text-back,.plain-button{border:0;color:var(--muted);background:transparent;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.text-back{min-height:44px;padding:4px 0;font-size:.82rem}.section-heading{display:flex;gap:14px;align-items:center;margin:15px 0 22px}.section-heading h1{font-size:1.65rem}.form-card{margin-bottom:15px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 6px 20px #6245510d}.form-card-heading{display:flex;gap:12px;align-items:end;justify-content:space-between;margin-bottom:15px}.step-label{color:var(--pink-dark);font-size:.64rem;font-weight:800;letter-spacing:.13em}h2{margin:1px 0 0;font-size:1.12rem}label.field-label{display:block;margin:0 0 7px;font-size:.8rem;font-weight:700}input[type=text],input[type=number],textarea,select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #dacdd2;border-radius:10px;color:var(--ink);background:#fffcfb}textarea{min-height:90px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--pink);outline:3px solid rgba(232,111,141,.13)}.count-select{display:grid;grid-template-columns:auto 78px;gap:8px;align-items:center;color:var(--muted);font-size:.77rem}.count-select select{min-height:43px;padding:8px 9px}.stack-fields{display:grid;gap:9px}.name-row,.card-input-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}.name-row span,.card-input-row span{color:#a2949a;text-align:center;font-size:.75rem}.card-input-row{grid-template-columns:28px 1fr 38px}.remove-card{width:38px;height:38px;border:0;border-radius:50%;color:#a7848e;background:#f9eef1;cursor:pointer}.field-help{margin:-6px 0 12px;color:var(--muted);font-size:.74rem}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-chip{position:relative}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip span{display:grid;min-height:48px;padding:8px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fffcfb;text-align:center;font-size:.78rem;font-weight:700;cursor:pointer}.choice-chip input:checked+span{border-color:var(--pink);color:var(--pink-dark);background:var(--pink-soft);box-shadow:inset 0 0 0 1px var(--pink)}.range-row{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:end}.range-row>span{padding-bottom:13px;color:var(--muted)}.range-row label{font-size:.72rem}.field-group+.field-group{margin-top:17px}.toggle-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:5px 0}.toggle-row strong,.toggle-row small{display:block}.toggle-row small{margin-top:3px;color:var(--muted);font-size:.72rem}.toggle-row input{width:24px;height:24px;accent-color:var(--pink)}.add-card-button{width:100%;min-height:46px;margin-top:10px;border:1px dashed #d9bdc6;border-radius:10px;color:var(--pink-dark);background:var(--pink-soft);cursor:pointer}.form-error{margin:14px 0;padding:12px 14px;border:1px solid #efb6b6;border-radius:10px;color:#a43c3c;background:#fff0f0;font-size:.82rem;font-weight:700}.primary-button,.secondary-button{width:100%;min-height:56px;padding:13px 18px;border-radius:14px;font-weight:800;cursor:pointer}.primary-button{border:1px solid var(--pink-dark);color:#fff;background:linear-gradient(135deg,#eb7692,#d95c7c);box-shadow:0 8px 20px #d6517438}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.deal-button{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-inline:23px}.secondary-button{border:1px solid #e1cbd2;color:var(--pink-dark);background:#fff}.game-view,.complete-view{display:flex;flex-direction:column;justify-content:center;text-align:center}.turn-progress{position:absolute;top:78px;left:50%;width:min(calc(100% - 36px),644px);transform:translate(-50%)}.turn-progress>span{display:block;margin-bottom:5px;color:var(--muted);font-size:.72rem;text-align:right}.progress-track{height:4px;overflow:hidden;border-radius:4px;background:#eadfe3}.progress-bar{width:25%;height:100%;border-radius:inherit;background:var(--pink);transition:width .18s ease}.game-step{width:100%;padding:46px 0 20px}.game-step h1{margin-bottom:12px;font-size:clamp(1.7rem,7vw,2.4rem)}.game-step>p:not(.eyebrow,.secret-label,.memory-hint){color:var(--muted)}.pass-card{position:relative;width:118px;height:156px;margin:0 auto 28px;border:5px solid white;border-radius:15px;background:linear-gradient(45deg,transparent 47%,rgba(255,255,255,.24) 48% 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,rgba(255,255,255,.18) 48% 52%,transparent 53%),#e67590;background-size:24px 24px;box-shadow:var(--shadow)}.pass-card:after{content:"♢";position:absolute;inset:22px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);color:#fff;font-size:2.2rem}.pass-card-back{position:absolute;right:0;bottom:-25px;left:0;color:var(--pink-dark);font-size:.58rem;font-weight:800;letter-spacing:.16em}.privacy-message{margin:0 0 25px;font-size:.83rem}.secret-label{margin:0 0 14px;color:var(--pink-dark);font-size:.9rem;font-weight:800}.secret-card{display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:30px 20px;border:1px solid #f0ccd5;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.secret-card.alert{border-color:#edba93;background:#fffaf2}.secret-value{margin:0;color:var(--ink);font-size:clamp(2.25rem,12vw,4.5rem);font-weight:900;line-height:1.25}.secret-card.long .secret-value{font-size:clamp(1.65rem,7vw,3rem)}.secret-note{margin:14px 0 0;color:var(--muted);font-size:.9rem}.memory-hint{margin:17px 0;color:var(--muted);font-size:.75rem}.done-mark{display:grid;width:84px;height:84px;margin:0 auto 22px;place-items:center;border-radius:50%;color:#fff;background:#52ad95;box-shadow:0 10px 24px #44998233;font-size:2.4rem}.complete-view{padding-top:38px}.complete-view>p:not(.eyebrow){margin:14px 0 28px;color:var(--muted)}.complete-actions{display:grid;gap:11px;width:100%}.review-button{min-height:54px;border:1px solid var(--ink);border-radius:12px;color:#fff;background:var(--ink);font-weight:800;cursor:pointer}.plain-button{min-height:48px}.review-view{padding:24px 0;text-align:center}.review-view h1{margin:5px 0 0;font-size:1.8rem}.review-intro{margin:5px 0 18px;color:var(--muted);font-size:.82rem}.review-shared{margin-bottom:14px;padding:17px;border:1px solid #efc578;border-radius:14px;background:#fff9eb;text-align:left}.review-shared span,.review-shared strong{display:block}.review-shared span{color:#a36d14;font-size:.7rem;font-weight:800;letter-spacing:.08em}.review-shared strong{margin-top:3px;overflow-wrap:anywhere;font-size:clamp(1.35rem,7vw,2rem);line-height:1.35}.review-list{display:grid;gap:8px;margin-bottom:16px;text-align:left}.review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(84px,auto);gap:10px;align-items:center;min-height:56px;padding:11px 13px;border:1px solid #eadce1;border-radius:11px;background:#fff;box-shadow:0 3px 12px #412a350a}.review-row strong,.review-value{overflow-wrap:anywhere}.review-value{color:var(--pink-dark);text-align:right;font-size:.82rem;font-weight:800}.review-row.alert{border-color:#efc578;background:#fff9eb}.review-row.alert .review-value{color:#a36d14}@media(min-width:640px){.mobile-break{display:none}.app-shell{padding-inline:26px}.mode-list{grid-template-columns:repeat(2,1fr)}.mode-card:last-child{grid-column:1 / -1}.game-step,.complete-view,.review-view{width:min(100%,520px);margin-inline:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
