:root{color-scheme:light;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202124;background:#f7f3ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #202124;--muted: #6b665f;--paper: #fffdf9;--line: #ddd3c6;--teal: #0e7c7b;--teal-deep: #075c5c;--coral: #d85f4c;--plum: #713f73;--gold: #b57b20;--shadow: 0 20px 60px rgba(34, 30, 24, .13)}*{box-sizing:border-box}body{margin:0;width:100%;min-width:320px;min-height:100svh;overflow-x:hidden}#root{width:100%;overflow-x:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(14,124,123,.3);outline-offset:3px}.app-shell{width:100%;max-width:1120px;min-height:100svh;margin:0 auto;overflow-x:hidden;padding:clamp(18px,4vw,44px)}.start-shell{display:grid;align-content:center;gap:22px}.intro-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:clamp(20px,5vw,56px);align-items:center;overflow:hidden;padding:clamp(22px,5vw,52px);border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 100% 10%,rgba(216,95,76,.16),transparent 26%),linear-gradient(135deg,#fffdf9,#f5f0e6 55%,#edf5f2);box-shadow:var(--shadow)}.intro-band>*{min-width:0}.eyebrow{margin:0 0 10px;color:var(--teal-deep);font-size:.8rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(2.1rem,7vw,5.3rem);line-height:1.02;letter-spacing:0}.brand-title span{display:block}.intro-copy{max-width:100%;margin:18px 0 0;color:var(--muted);font-size:clamp(.98rem,2.2vw,1.12rem);line-height:1.8;overflow-wrap:anywhere;word-break:break-all;line-break:anywhere}.intro-copy span{display:block}.card-stack{position:relative;min-height:260px;overflow:hidden;perspective:900px}.card-stack span{position:absolute;top:30px;right:30px;bottom:30px;left:30px;display:block;border:1px solid rgba(32,33,36,.16);border-radius:8px;background:linear-gradient(135deg,rgba(14,124,123,.12),transparent 34%),repeating-linear-gradient(135deg,transparent 0 16px,rgba(181,123,32,.12) 16px 17px),var(--paper);box-shadow:0 18px 40px #20212424}.card-stack span:nth-child(1){transform:rotate(-8deg) translate(-18px,10px)}.card-stack span:nth-child(2){transform:rotate(4deg) translate(18px,-4px);background:linear-gradient(135deg,rgba(216,95,76,.14),transparent 36%),repeating-linear-gradient(135deg,transparent 0 16px,rgba(113,63,115,.1) 16px 17px),#fffaf6}.card-stack span:nth-child(3){transform:rotate(0);display:grid;place-items:center}.card-stack span:nth-child(3):before{content:"";width:88px;height:88px;border:14px solid rgba(14,124,123,.18);border-right-color:#d85f4c47;border-radius:999px}.resume-row,.status-row,.history-panel,.gate-panel{border:1px solid var(--line);border-radius:8px;background:#fffdf9e0;box-shadow:0 12px 36px #221e1814}.resume-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px}.resume-row strong{display:block;font-size:1rem}.deck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.deck-tile{min-height:280px;display:grid;align-content:end;gap:12px;padding:clamp(20px,4vw,32px);border:1px solid rgba(32,33,36,.14);border-radius:8px;color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.deck-tile:hover{transform:translateY(-3px);border-color:#0e7c7b73;box-shadow:0 26px 70px #221e182e}.starter-tile{background:radial-gradient(circle at 18% 18%,rgba(181,123,32,.18),transparent 30%),linear-gradient(145deg,#fffdf9,#f5efe2)}.partner-tile{background:radial-gradient(circle at 18% 18%,rgba(14,124,123,.18),transparent 30%),linear-gradient(145deg,#fffdf9,#eaf4f0)}.adult-tile{background:radial-gradient(circle at 22% 18%,rgba(216,95,76,.18),transparent 30%),linear-gradient(145deg,#fff9f5,#f2eaf3)}.deck-icon{width:54px;height:54px;display:inline-grid;place-items:center;border:1px solid rgba(32,33,36,.12);border-radius:8px;background:#ffffffc2;color:var(--teal-deep)}.adult-tile .deck-icon{color:var(--plum)}.starter-tile .deck-icon{color:var(--gold)}.deck-icon svg{width:28px;height:28px}.deck-title{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:850;line-height:1.05}.deck-meta{color:var(--teal-deep);font-size:.95rem;font-weight:800}.adult-tile .deck-meta{color:var(--plum)}.starter-tile .deck-meta{color:#8a5c17}.deck-copy{max-width:420px;color:var(--muted);line-height:1.65}.gate-panel{width:min(760px,100%);margin:min(10vh,96px) auto 0;padding:clamp(24px,5vw,44px)}.gate-panel h1{font-size:clamp(2rem,5vw,3.8rem)}.gate-title span,.consent-copy span{display:block}.gate-mark{width:62px;height:62px;display:grid;place-items:center;margin-bottom:20px;border-radius:8px;background:#edf5f2;color:var(--teal-deep)}.gate-mark svg{width:34px;height:34px}.rule-list{display:grid;gap:10px;margin:24px 0}.rule-list span{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fffaf6;color:#3d3832;line-height:1.5;overflow-wrap:anywhere;word-break:break-all}.consent-check{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;min-height:52px;color:var(--ink);font-weight:700;line-height:1.6;cursor:pointer}.consent-check span{min-width:0;overflow-wrap:anywhere}.consent-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.consent-box{position:relative;width:28px;height:28px;margin-top:2px;border:1.5px solid #8d867b;border-radius:6px;background:#fffdf9;pointer-events:none}.consent-box:after{content:"";position:absolute;left:8px;top:3px;width:8px;height:15px;border:solid #fffdf9;border-width:0 3px 3px 0;opacity:0;transform:rotate(42deg)}.consent-input:checked+.consent-box{border-color:var(--teal);background:var(--teal)}.consent-input:checked+.consent-box:after{opacity:1}.consent-input:focus-visible+.consent-box{outline:3px solid rgba(14,124,123,.3);outline-offset:3px}.gate-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.game-shell{display:grid;gap:18px;align-content:start}.game-header{display:flex;justify-content:space-between;gap:18px;align-items:start}.game-header h1{font-size:clamp(1.65rem,4vw,3.4rem)}.level-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-width:0}.level-button{min-height:78px;border:1px solid var(--line);border-radius:8px;background:#fffdf9c7;color:var(--muted);cursor:pointer}.level-button span,.level-button small{display:block}.level-button span{font-weight:850}.level-button small{margin-top:4px;font-size:.75rem;line-height:1.25}.level-button.active{border-color:#0e7c7b7a;background:#e7f3ef;color:var(--teal-deep)}.play-card{min-height:min(52svh,520px);display:grid;align-content:space-between;gap:24px;min-width:0;padding:clamp(24px,5vw,54px);border:1px solid rgba(32,33,36,.14);border-radius:8px;background:radial-gradient(circle at 86% 16%,rgba(181,123,32,.16),transparent 26%),linear-gradient(145deg,#fffdf9,#f5f8f5);box-shadow:var(--shadow)}.play-card>*{min-width:0}.play-card.action-card{background:radial-gradient(circle at 86% 16%,rgba(216,95,76,.18),transparent 26%),linear-gradient(145deg,#fff9f5,#f3edf5)}.card-topline{display:flex;justify-content:space-between;gap:16px;color:var(--teal-deep);font-size:.86rem;font-weight:850}.prompt{margin:0;width:100%;max-width:100%;font-size:clamp(1.75rem,5vw,4.2rem);font-weight:850;line-height:1.22;letter-spacing:0;overflow-wrap:anywhere;word-break:break-all;line-break:anywhere}.action-choices{display:flex;flex-wrap:wrap;gap:10px}.choice-button{min-height:46px;padding:10px 16px;border:1px solid rgba(113,63,115,.28);border-radius:8px;background:#fffdf9c7;color:var(--plum);font-weight:800;cursor:pointer}.choice-button.selected{background:var(--plum);color:#fffdf9}.choice-note{margin:0;color:#4f4450;font-weight:700;line-height:1.55}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag-row span{padding:6px 10px;border-radius:999px;background:#2021240f;color:var(--muted);font-size:.8rem;font-weight:700}.control-panel{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(130px,1fr));gap:10px;min-width:0}.primary-button,.secondary-button,.icon-text-button{min-height:48px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 14px;border-radius:8px;font-weight:850;line-height:1.25;text-align:center;white-space:normal;cursor:pointer}.primary-button svg,.secondary-button svg,.icon-text-button svg{width:19px;height:19px;flex:0 0 auto}.primary-button{border:1px solid var(--teal);background:var(--teal);color:#fffdf9}.primary-button:hover{background:var(--teal-deep)}.secondary-button,.icon-text-button{border:1px solid var(--line);background:#fffdf9e0;color:var(--ink)}.secondary-button:hover,.icon-text-button:hover{border-color:#0e7c7b6b}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.status-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.status-row div{min-height:78px;display:grid;place-items:center;gap:2px;padding:12px;border-left:1px solid var(--line);text-align:center}.status-row div:first-child{border-left:0}.status-number{display:block;color:var(--teal-deep);font-size:clamp(1.4rem,3vw,2rem);font-weight:900;line-height:1}.status-row span:last-child{color:var(--muted);font-size:.82rem;font-weight:700}.history-panel{padding:18px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-title svg{width:19px;height:19px;color:var(--teal-deep)}.section-title h2{margin:0;font-size:1rem}.history-panel ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.history-panel li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-top:1px solid rgba(221,211,198,.7)}.history-panel li:first-child{border-top:0}.history-panel li span{color:var(--teal-deep);font-weight:850}.history-panel li p{margin:0;color:var(--muted);line-height:1.55}@media(max-width:780px){.app-shell{padding:14px}.game-header,.level-strip,.play-card,.control-panel,.status-row,.history-panel{width:calc(100vw - 28px);max-width:calc(100vw - 28px)}.intro-band,.deck-grid{grid-template-columns:1fr}.card-stack{min-height:190px}.card-stack span:nth-child(1){transform:rotate(-5deg) translate(-8px,8px)}.card-stack span:nth-child(2){transform:rotate(3deg) translate(8px,-3px)}.resume-row,.game-header{align-items:stretch;flex-direction:column}.deck-tile{min-height:220px}.level-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.level-button{min-height:66px;min-width:0}.level-button small{display:none}.play-card{min-height:44svh;padding:22px}.prompt{width:min(100%,calc(100vw - 72px));max-width:calc(100vw - 72px)}.control-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.control-panel .primary-button{grid-column:1 / -1}.status-row{grid-template-columns:1fr}.status-row div{border-top:1px solid var(--line);border-left:0}.status-row div:first-child{border-top:0}}@media(max-width:460px){h1{font-size:clamp(2rem,9vw,2.65rem);line-height:1.08}.intro-copy{font-size:.95rem;line-height:1.72}.card-stack{min-height:160px;overflow:hidden}.card-stack span{top:18px;right:54px;bottom:18px;left:54px}.prompt{font-size:clamp(1.5rem,9vw,2.6rem)}.control-panel,.history-panel li{grid-template-columns:1fr}}@media(max-width:540px){.gate-panel{width:min(calc(100vw - 28px),362px);max-width:min(calc(100vw - 28px),362px);margin:48px 0 0;padding:24px}.game-header,.level-strip,.play-card,.control-panel,.status-row,.history-panel{width:min(calc(100vw - 28px),362px);max-width:min(calc(100vw - 28px),362px)}.prompt{width:min(100%,318px);max-width:min(100%,318px)}.level-strip{gap:6px}}
