:root{--felt: #0e3b2e;--felt-2: #145040;--felt-3: #1b5c4b;--felt-deep: #092a21;--felt-line: rgba(244, 241, 232, .14);--felt-line-2: rgba(244, 241, 232, .28);--card: #fffdf8;--card-2: #f3efe4;--card-edge: #e6e0d0;--ink: #1f2a26;--ink-2: #5c6b65;--ink-3: #66736d;--chalk: #f4f1e8;--chalk-2: rgba(244, 241, 232, .7);--chalk-3: rgba(244, 241, 232, .65);--warmup: #f5c543;--warmup-ink: #7a5a00;--topic: #3b6cf6;--topic-ink: #1f3fa8;--deeper: #b14fa6;--deeper-ink: #6e2c66;--closing: #f0705e;--closing-ink: #a03a2a;--danger: #ff8a7a;--font-ui: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-card: "Gowun Batang", "Nanum Myeongjo", "AppleMyungjo", "Batang", "Noto Serif KR", serif;--font-card-ja: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "Gowun Batang", serif;--r-card: 22px;--r-ctl: 12px;--r-pill: 999px;--shadow-card: 0 40px 80px -30px rgba(0, 0, 0, .6), 0 12px 24px -12px rgba(0, 0, 0, .35);--shadow-card-sm: 0 18px 40px -20px rgba(0, 0, 0, .55);--shadow-pop: 0 24px 60px -20px rgba(0, 0, 0, .6);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-flip: cubic-bezier(.6, 0, .2, 1);--gutter: 16px;--maxw: 1160px}@media(min-width:720px){:root{--gutter: 32px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;background:var(--felt);background-image:radial-gradient(1200px 700px at 50% -10%,rgba(255,255,255,.07),transparent 60%),radial-gradient(900px 500px at 100% 110%,rgba(0,0,0,.35),transparent 60%);background-attachment:fixed;color:var(--chalk);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--warmup);outline-offset:3px;border-radius:6px}::selection{background:var(--warmup);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.spinner{border-top-color:var(--card-edge);background:radial-gradient(circle,var(--felt) 35%,transparent 38%)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:var(--r-ctl);border:1px solid var(--felt-line-2);background:transparent;color:var(--chalk);font-weight:600;font-size:15px;line-height:1.2;min-height:44px;transition:background .15s var(--ease-out),border-color .15s,transform .1s;white-space:nowrap}.btn:hover{background:#f4f1e814;border-color:var(--chalk-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--chalk);color:var(--felt-deep);border-color:var(--chalk);font-size:17px;padding:14px 24px}.btn-primary:hover{background:#fff;border-color:#fff}.btn-quiet{border-color:transparent;color:var(--chalk-2)}.btn-quiet:hover{color:var(--chalk)}.btn-sm{padding:8px 12px;min-height:36px;font-size:14px}.btn svg{width:20px;height:20px;flex:none}.btn-sm svg{width:17px;height:17px}.btn-lg svg{width:22px;height:22px}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%}.btn-icon svg{width:22px;height:22px}.btn-lg{padding:18px 28px;font-size:18px;min-height:56px}.field{display:flex;flex-direction:column;gap:8px}.field>label,.field-label{font-size:14px;color:var(--chalk-2);font-weight:600;letter-spacing:-.01em}.input{width:100%;padding:12px 14px;border-radius:var(--r-ctl);background:#00000038;border:1px solid var(--felt-line-2);color:var(--chalk);font-size:17px;min-height:48px}.input::placeholder{color:var(--chalk-3)}.input:focus{outline:none;border-color:var(--chalk);background:#0000004d}textarea.input{min-height:96px;resize:vertical;line-height:1.5}.seg{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:#00000038;border:1px solid var(--felt-line);flex-wrap:wrap}.seg button{padding:9px 14px;border-radius:10px;border:0;background:transparent;color:var(--chalk-2);font-weight:600;font-size:15px;min-height:40px}.seg button[aria-pressed=true]{background:var(--chalk);color:var(--felt-deep)}.seg button:hover:not([aria-pressed=true]){color:var(--chalk);background:#f4f1e814}.stepper{display:inline-flex;align-items:center;border-radius:var(--r-ctl);border:1px solid var(--felt-line-2);background:#00000038}.stepper button{width:44px;height:46px;border:0;background:transparent;color:var(--chalk);font-size:22px}.stepper button:hover{background:#f4f1e814}.stepper output{min-width:72px;text-align:center;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}.stepper output small{font-weight:500;color:var(--chalk-2);font-size:13px;margin-left:2px}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font-size:13px;font-weight:700;letter-spacing:-.01em}.pill-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.phase-warmup{--ph: var(--warmup);--ph-ink: var(--warmup-ink);--ph-on: var(--felt-deep)}.phase-topic{--ph: var(--topic);--ph-ink: var(--topic-ink);--ph-on: #fff}.phase-deeper{--ph: var(--deeper);--ph-ink: var(--deeper-ink);--ph-on: #fff}.phase-closing{--ph: var(--closing);--ph-ink: var(--closing-ink);--ph-on: var(--felt-deep)}.toast{position:fixed;left:16px;right:16px;bottom:24px;margin-inline:auto;width:fit-content;max-width:min(560px,calc(100vw - 32px));background:var(--card);color:var(--ink);padding:12px 16px;border-radius:14px;box-shadow:var(--shadow-pop);font-weight:600;z-index:60;animation:toast-in .25s var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast :focus-visible{outline-color:var(--felt)}.card{position:relative;background:var(--card);color:var(--ink);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--card-edge)}.card>*{position:relative;z-index:1}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 30%,rgba(0,0,0,.025))}.card-band{height:10px;background:var(--ph);flex:none}.card-body{padding:clamp(20px,3.2vw,44px);display:flex;flex-direction:column;gap:clamp(12px,1.6vw,22px);flex:1;min-height:0}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-2);font-size:14px;font-weight:600}.card-meta .pill{background:color-mix(in srgb,var(--ph) 18%,white);color:var(--ph-ink)}.card-kind{color:var(--ink-3);font-weight:600}.card-text{font-family:var(--font-card);font-weight:700;font-size:clamp(24px,3.6vw,52px);line-height:1.32;letter-spacing:-.01em;margin:0;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.card-text:lang(ja){font-family:var(--font-card-ja)}.card-text:lang(en){letter-spacing:-.005em}.card-sub{font-family:var(--font-card);font-size:clamp(16px,1.5vw,24px);line-height:1.5;color:var(--ink-2);margin:0;word-break:keep-all;overflow-wrap:anywhere}.card-sub:lang(ja){font-family:var(--font-card-ja)}.card-ko{font-size:clamp(15px,1.3vw,20px);color:var(--ink-2);margin:0;word-break:keep-all}.card-reading{font-size:clamp(14px,1.1vw,18px);color:var(--ink-3);margin:-8px 0 0}.card-phrases{margin:auto 0 0;padding:14px 16px;border-radius:14px;background:var(--card-2);display:grid;gap:8px}.card-phrases h3{margin:0;font-size:13px;color:var(--ink-2);font-weight:700}.card-phrases dl{margin:0;display:grid;grid-template-columns:fit-content(58%) minmax(0,1fr);gap:4px 14px;align-items:baseline}.card-phrases .phrase{display:contents}.card-phrases dt{font-weight:700;font-size:clamp(15px,1.2vw,19px);overflow-wrap:anywhere}.card-phrases dt:lang(ja){font-family:var(--font-card-ja)}.card-phrases dd{margin:0;color:var(--ink-2);font-size:clamp(13px,1vw,16px);word-break:keep-all;overflow-wrap:anywhere}@media(max-width:600px){.card-phrases dl{grid-template-columns:minmax(0,1fr);row-gap:0}.card-phrases dd{margin-bottom:8px}}.card-text:lang(ja),.card-sub:lang(ja),.card-phrases dt:lang(ja),.deck-row .t:lang(ja),.print-card .t:lang(ja){word-break:normal;overflow-wrap:normal;line-break:strict}@supports (word-break: auto-phrase){.card-text:lang(ja){word-break:auto-phrase}}.card.intro .card-sub{font-size:clamp(18px,2vw,32px);color:var(--ink)}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-3);font-size:13px;font-weight:600;margin-top:auto}.card-num{font-variant-numeric:tabular-nums}.card-back{background:var(--felt-2);border-color:#ffffff1f;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 6px,transparent 6px 14px)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 8px}.brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none}.brand-mark{font-family:var(--font-card);font-weight:700;font-size:28px;letter-spacing:-.02em;line-height:1}.brand-sub{font-size:13px;color:var(--chalk-3)}.topbar-actions{display:flex;gap:4px}.setup-hero{padding:clamp(20px,5vw,56px) 0 clamp(16px,3vw,28px)}.setup-hero h1{font-family:var(--font-card);font-weight:700;font-size:clamp(30px,5vw,56px);line-height:1.15;letter-spacing:-.02em;margin:0 0 14px;max-width:18em;word-break:keep-all}.setup-hero p{margin:0;color:var(--chalk-2);font-size:clamp(16px,1.4vw,19px);max-width:40em;word-break:keep-all}.section-title{font-size:14px;color:var(--chalk-2);font-weight:700;margin:28px 0 12px}.kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.kind{text-align:left;padding:16px 16px 14px;border-radius:16px;min-height:124px;border:1px solid var(--felt-line);background:#0000002e;color:var(--chalk);display:flex;flex-direction:column;gap:10px;transition:background .15s,border-color .15s,transform .15s var(--ease-out)}.kind:hover{background:#f4f1e812;border-color:var(--felt-line-2)}.kind[aria-pressed=true]{background:var(--chalk);color:var(--felt-deep);border-color:var(--chalk)}.kind svg{width:28px;height:28px;flex:none}.kind-wide{grid-column:1 / -1;min-height:0;flex-direction:row;align-items:center;gap:14px;padding:12px 16px}.kind-wide b{display:inline;margin-right:10px}.kind-wide small{display:inline}.kind b{font-size:16px;letter-spacing:-.01em;display:block}.kind small{display:block;font-size:13px;line-height:1.4;opacity:.75;word-break:keep-all}.setup-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:8px}@media(min-width:900px){.setup-grid{grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}}.settings{display:flex;flex-direction:column;gap:22px}.settings-row{display:flex;flex-wrap:wrap;gap:18px 28px}.goal{padding:16px 18px;border-radius:14px;border:1px dashed var(--felt-line-2);color:var(--chalk-2);font-size:15px;line-height:1.55;word-break:keep-all}.goal b{color:var(--chalk);display:block;margin-bottom:4px;font-size:13px}.preview{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}.fan{position:relative;height:330px;--spread: 22px;--fan-w: 240px;overflow-x:clip}@media(max-width:899px)and (min-width:601px){.fan{--spread: 48px;--fan-w: 290px}}.fan>div{position:absolute;left:50%;top:14px;width:var(--fan-w);transform-origin:50% 100%;transition:transform .4s var(--ease-out)}@media(max-width:600px){.fan{--spread: 16px;--fan-w: min(250px, 66%);height:300px}}.fan .card{position:relative;width:100%;height:270px}.fan .card .card-text{font-size:20px}.fan .card .card-body{padding:18px 20px;gap:10px}.fan .card .card-sub{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fan .card .card-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.fan-stats{display:flex;gap:18px;color:var(--chalk-2);font-size:14px;flex-wrap:wrap}.fan-stats b{color:var(--chalk);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin-right:4px}.phase-bar{display:flex;height:8px;border-radius:6px;overflow:hidden;gap:2px}.phase-bar span{display:block;background:var(--ph);min-width:4px}.phase-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--chalk-2)}.phase-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--ph);margin-right:6px;vertical-align:-1px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 60px;align-items:center}.actions .spacer{flex:1}.recent{display:flex;flex-wrap:wrap;gap:8px}.recent button{padding:8px 12px;border-radius:var(--r-pill);font-size:14px;white-space:normal;max-width:100%;text-align:left;word-break:keep-all;overflow-wrap:anywhere}.badge{flex:none;white-space:nowrap;display:inline-block;font-size:11px;font-weight:800;color:var(--felt-deep);background:var(--warmup);padding:1px 6px;border-radius:4px;margin-right:6px;vertical-align:1px}.setup-foot{color:var(--chalk-3);font-size:13px;padding:0 0 40px;word-break:keep-all}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04140fb3;z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .2s}@keyframes fade{0%{opacity:0}}.sheet{position:fixed;inset:auto 0 0 0;max-height:92dvh;overflow:auto;z-index:41;background:var(--felt-2);border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop);animation:sheet-in .3s var(--ease-out);padding-bottom:env(safe-area-inset-bottom)}@media(min-width:900px){.sheet{inset:5dvh 0 auto 0;margin:0 auto;max-width:900px;border-radius:24px;max-height:90dvh}}@keyframes sheet-in{0%{transform:translateY(30px);opacity:0}}.sheet-head{position:sticky;top:0;background:var(--felt-2);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px var(--gutter);border-bottom:1px solid var(--felt-line);z-index:1}.sheet-head h2{margin:0;font-size:18px}.sheet-body{padding:16px var(--gutter) 28px;display:flex;flex-direction:column;gap:24px}.deck-phase h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px}.deck-phase h3 i{width:12px;height:12px;border-radius:4px;background:var(--ph)}.deck-phase h3 span{color:var(--chalk-3);font-weight:500;font-size:13px}.deck-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--felt-line)}.deck-row:first-of-type{border-top:0}.deck-row .n{color:var(--chalk-3);font-variant-numeric:tabular-nums;font-size:14px;padding-top:3px}.deck-row .t{font-family:var(--font-card);font-size:17px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;min-width:0}.deck-row .t:lang(ja){font-family:var(--font-card-ja)}.deck-row .tip{margin-top:6px;font-family:var(--font-ui);font-size:13px;color:var(--chalk-2)}.deck-row .tip summary{cursor:pointer;color:var(--warmup);font-weight:700;width:fit-content}.deck-row .tip p{margin:4px 0 0;line-height:1.5}.deck-row.pad{opacity:.72}.pad-label{font-size:12px;font-weight:700;color:var(--chalk-2);border:1px dashed var(--felt-line-2);border-radius:6px;padding:2px 8px;white-space:nowrap}.sheet-note{margin:0;color:var(--chalk-2);font-size:14px;line-height:1.5;word-break:keep-all}.deck-row .t small{display:block;font-family:var(--font-ui);font-size:13px;color:var(--chalk-2);margin-top:3px}.deck-row .a{display:flex;gap:4px}.deck-row.custom .t:before{content:"내 카드";font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--felt-deep);background:var(--warmup);padding:1px 6px;border-radius:4px;margin-right:8px;vertical-align:2px}.add-card{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px dashed var(--felt-line-2)}.add-card .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.play{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.play-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:12px var(--gutter) 6px}@media(min-width:601px)and (max-width:899px){.play-top .play-tools{grid-column:2;grid-row:1}}@media(min-width:900px){.play-top{grid-template-columns:minmax(0,1fr) auto minmax(max-content,1fr);padding:14px var(--gutter)}.play-top .play-tools{justify-self:end}}.play-title{display:flex;flex-direction:column;min-width:0}.play-title b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-title span{font-size:13px;color:var(--chalk-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phases{display:flex;gap:6px;grid-column:1 / -1;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.phases::-webkit-scrollbar{display:none}@media(min-width:900px){.phases{grid-column:auto;justify-self:center;overflow:visible}}.phases button{border:0;background:#00000040;color:var(--chalk-3);padding:6px 12px 8px;border-radius:var(--r-pill);font-size:13px;font-weight:700;position:relative;overflow:hidden;min-height:32px;transition:background .2s,color .2s;white-space:nowrap;flex:none}.phases button i{position:absolute;left:10px;right:10px;bottom:3px;height:3px;border-radius:2px;background:#ffffff1f}.phases button i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w, 0%);background:var(--ph);border-radius:2px;transition:width .3s var(--ease-out)}.phases button span{position:relative;z-index:1}.phases button.done{color:color-mix(in srgb,var(--ph) 55%,white)}.phases button.done i:after{width:100%}.phases button.active{background:var(--ph);color:var(--ph-on)}.phases button.active i{background:#0000002e}.phases button.active i:after{background:var(--ph-on)}.play-tools{display:flex;gap:2px;align-items:center;min-width:0}@media(max-width:720px){.play-tools .only-wide{display:none}.timer{padding-right:8px}.timer time{font-size:16px;min-width:44px}}.play-stage{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;padding:8px var(--gutter);min-height:0}.stage-inner{width:100%;max-width:1040px;min-width:0;display:grid;gap:14px}.card{min-width:0;max-width:100%}.round-banner{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;background:#00000040;border:1px solid var(--felt-line)}.round-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;min-width:0}.round-banner b{font-size:clamp(20px,2.2vw,40px)}.round-banner span{color:var(--chalk);font-size:clamp(18px,2vw,34px);word-break:keep-all}.seats-btn.when-narrow{display:none}.round-banner.move{background:color-mix(in srgb,var(--warmup) 16%,rgba(0,0,0,.3));border-color:color-mix(in srgb,var(--warmup) 50%,transparent)}.round-banner.move span{font-weight:700}.pair-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.pair-chips li{padding:4px 10px;border-radius:999px;background:#ffffff1f;font-weight:800;font-variant-numeric:tabular-nums;font-size:clamp(14px,1.3vw,22px)}.pair-chips li i{font-style:normal;opacity:.7;margin:0 4px}.pair-chips li.bye{background:transparent;border:1px dashed var(--felt-line-2);font-weight:600}.pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}.pairs div{text-align:center;padding:8px 4px;border-radius:10px;background:#ffffff14;font-variant-numeric:tabular-nums;font-weight:700}.pairs div.bye{background:transparent;border:1px dashed var(--felt-line-2);color:var(--chalk-3);font-weight:500}.stage-card{position:relative;min-height:min(62dvh,640px);min-width:0}.stage-card .card{min-height:inherit}.stage-card .card-text{font-size:clamp(26px,min(4.6vw,7.2dvh),64px)}.stage-card .card-body{padding:clamp(20px,min(4vw,5dvh),56px)}.stage-card .card.dense .card-text{font-size:clamp(22px,min(3.3vw,5dvh),46px)}.stage-card .card.dense .card-body{gap:clamp(8px,1.2vw,16px)}.card.dense .card-sub{font-size:clamp(15px,1.3vw,20px)}@media(min-width:1600px){.stage-inner{max-width:min(1480px,80vw)}.stage-card{min-height:min(66dvh,820px)}.stage-card .card-text{font-size:clamp(48px,min(4.4vw,7.5dvh),88px)}.stage-card .card-sub{font-size:clamp(24px,1.6vw,32px)}.stage-card .card.dense .card-text{font-size:clamp(34px,min(3.2vw,5.2dvh),64px)}.card-phrases dt{font-size:22px}.card-phrases dd{font-size:18px}.card-meta{font-size:17px}}@media(max-width:600px){.stage-card{min-height:min(56dvh,560px)}.stage-card .card.dense .card-text{font-size:clamp(20px,5.6vw,28px)}.stage-card .card-text{font-size:clamp(24px,7vw,34px)}.card-sub{font-size:16px}}.card-enter{animation:card-in .42s var(--ease-out)}.card-enter-back{animation:card-in-back .42s var(--ease-out)}@keyframes card-in{0%{opacity:0;transform:translate(46px) rotate(1.2deg)}}@keyframes card-in-back{0%{opacity:0;transform:translate(-46px) rotate(-1.2deg)}}.memo{padding:12px 16px;border-radius:12px;background:#00000047;border:1px solid var(--felt-line);color:var(--chalk-2);font-size:15px;line-height:1.5;word-break:keep-all}.memo b{color:var(--warmup);font-size:12px;display:block;margin-bottom:4px}.play-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--gutter) 16px;min-width:0}.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.play-bottom{justify-content:center}.nav{width:100%;justify-content:space-between}.nav .count{min-width:56px}.round-banner+.stage-card{min-height:min(34dvh,480px)}.stage-card{min-height:min(50dvh,560px)}.round-banner{padding:10px 12px;gap:8px}.round-banner b{font-size:16px}.round-banner span{font-size:14px}.pair-chips{display:none}.seats-btn.when-narrow{display:inline-flex}.nav .btn-sm{order:2}.nav .btn-icon,.nav .count{order:1}}@media(min-width:601px){.stage-inner:has(.round-banner,.memo) .stage-card{min-height:min(40dvh,520px)}.stage-inner:has(.round-banner,.memo) .stage-card .card-text{font-size:clamp(24px,min(3.6vw,5.4dvh),64px)}.stage-inner:has(.round-banner,.memo) .stage-card .card-body{padding:clamp(16px,min(3vw,3.6dvh),48px)}}@media(max-width:600px){.stage-inner:has(.round-banner,.memo) .stage-card{min-height:min(34dvh,480px)}}.memo{max-height:22dvh;overflow:auto}.play-bottom{position:sticky;bottom:0;z-index:5;background:linear-gradient(to bottom,transparent,var(--felt) 40%)}.nav{margin-left:auto}.nav .count{font-variant-numeric:tabular-nums;font-weight:700;font-size:16px;min-width:70px;text-align:center}.nav .count small{color:var(--chalk-3);font-weight:500}.keys{display:none;gap:14px;color:var(--chalk-3);font-size:12px}.keys kbd{font-family:inherit;background:#ffffff1a;padding:1px 6px;border-radius:5px;color:var(--chalk-2)}@media(min-width:900px){.keys{display:flex}}.timer{display:inline-flex;align-items:center;gap:10px;border-radius:var(--r-pill);padding:4px 12px 4px 4px;background:#00000040;border:1px solid var(--felt-line);min-height:44px}.timer-ring{width:36px;height:36px}.timer-ring circle{fill:none;stroke-width:3.5}.timer-ring .bg{stroke:#ffffff24}.timer-ring .fg{stroke:var(--chalk);stroke-linecap:round;transition:stroke-dashoffset .3s linear;transform:rotate(-90deg);transform-origin:50% 50%}.timer.low .fg{stroke:var(--closing)}.timer time{font-variant-numeric:tabular-nums;font-weight:700;font-size:18px;min-width:52px}.timer.low time{color:var(--closing)}.timer button{border:0;background:transparent;color:var(--chalk-2);padding:6px;border-radius:50%;display:inline-flex}.timer button:hover{color:var(--chalk);background:#ffffff14}.timer button svg{width:18px;height:18px}.timer.done{animation:pulse .9s ease-in-out 3}@keyframes pulse{50%{box-shadow:0 0 0 8px #f0705e59}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#04140fdb;display:grid;place-items:center;padding:var(--gutter);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .2s}.overlay-box{position:relative;background:var(--card);color:var(--ink);border-radius:24px;padding:28px;width:min(100%,560px);max-height:90dvh;overflow:auto;box-shadow:var(--shadow-pop);display:grid;gap:16px}.overlay-box.wide{width:min(100%,760px)}.overlay-box:focus{outline:none}.overlay-box :focus-visible{outline-color:var(--felt)}.overlay-box h2{padding-right:48px}.overlay-box .field>label,.overlay-box .field-label{color:var(--ink-2)}.overlay-box .input{background:var(--card-2);color:var(--ink);border-color:var(--card-edge)}.overlay-box .input:disabled{opacity:.6}.overlay-box .check{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-2)}.overlay-box .hint{font-size:13px;color:var(--closing-ink);line-height:1.5}.overlay-box code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--card-2);padding:1px 6px;border-radius:4px;word-break:break-all}.saved-key{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--card-2);color:var(--ink-2);font-size:14px}.ai-error{display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--closing) 12%,white);color:var(--closing-ink)}.ai-error details{font-size:12px;color:var(--ink-2)}.qr-fail{display:grid;gap:6px;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--warmup) 20%,white);color:var(--warmup-ink);line-height:1.5;word-break:keep-all}.qr-fail b{color:var(--ink);font-size:16px}.overlay-box h2{margin:0;font-size:20px}.overlay-box p{margin:0;color:var(--ink-2);line-height:1.5;word-break:keep-all}.overlay-box .close{position:absolute;top:16px;right:16px}.qr-wrap{display:grid;place-items:center;gap:12px}.qr-wrap canvas,.qr-wrap svg{width:min(100%,360px);height:auto;border-radius:12px}.url-row{display:flex;gap:8px;flex-wrap:wrap}.url-row input{flex:1 1 200px;min-width:0;background:var(--card-2);border:1px solid var(--card-edge);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink-2)}.overlay-box .btn{border-color:var(--card-edge);color:var(--ink)}.overlay-box .input::placeholder{color:var(--ink-3)}.overlay-box .input:focus{border-color:var(--felt);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--felt) 30%,transparent)}.overlay-box .btn:hover{background:var(--card-2)}.overlay-box .btn-primary{background:var(--felt);color:var(--chalk);border-color:var(--felt)}.overlay-box .btn-primary:hover{background:var(--felt-2)}.help-keys{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:15px}.help-keys kbd{font-family:inherit;background:var(--card-2);border:1px solid var(--card-edge);padding:2px 8px;border-radius:6px;font-weight:700}.join{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.join-top{display:flex;align-items:center;justify-content:space-between;padding:14px var(--gutter) 6px;gap:10px;min-width:0}.join-top .brand-mark{font-size:22px;flex:none}.join-title{flex:1;min-width:0;text-align:right;display:flex;flex-direction:column}.join-title b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-title span{font-size:12px;color:var(--chalk-3)}.join-own{flex:none}.join-stage{padding:6px var(--gutter);display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;touch-action:pan-y;min-width:0}.join-stage .card{min-height:60dvh}.join-stage .card-text{font-size:clamp(24px,6.4vw,36px)}.join-bottom{display:grid;gap:10px;padding:8px var(--gutter) 16px}.dots{display:flex;gap:3px;height:6px}.dots i{flex:1;border-radius:3px;background:#ffffff24}.dots i.on{background:var(--ph)}.dots i.cur{background:var(--chalk)}.join-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.join-nav .btn{flex:1}.ai-panel{display:grid;gap:14px}.ai-panel .note{font-size:13px;color:var(--ink-2);line-height:1.5}.ai-progress{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:14px}.spinner{width:18px;height:18px;border:2.5px solid var(--card-edge);border-top-color:var(--felt);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.print-sheet{display:none}@media screen{.print-preview{display:block;min-height:100dvh;background:#e9e6dc;color:#111;padding:0 0 40px}.print-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--gutter);background:var(--felt-deep);color:var(--chalk);position:sticky;top:0;z-index:2;font-size:14px}.print-toolbar span{color:var(--chalk-2);text-align:center;flex:1}.print-preview .print-head{max-width:210mm;margin:24px auto 0;padding:0 12px;display:flex;justify-content:space-between;font-size:13px;color:#555}.print-preview .print-grid{max-width:210mm;margin:8px auto;padding:10mm;background:#fff;box-shadow:var(--shadow-card-sm);display:grid;grid-template-columns:1fr 1fr;gap:6mm}.print-preview .print-card{border:.4mm solid #bbb;border-left-width:3mm;border-radius:4mm;min-height:62mm;padding:5mm 6mm;display:flex;flex-direction:column;gap:2mm}.print-preview .print-card.phase-warmup{border-left-color:var(--warmup)}.print-preview .print-card.phase-topic{border-left-color:var(--topic)}.print-preview .print-card.phase-deeper{border-left-color:var(--deeper)}.print-preview .print-card.phase-closing{border-left-color:var(--closing)}.print-preview .print-card .m{font-size:11px;color:#666;display:flex;justify-content:space-between}.print-preview .print-card .t{font-family:var(--font-card);font-weight:700;font-size:18px;line-height:1.3;word-break:keep-all}.print-preview .print-card .t:lang(ja){font-family:var(--font-card-ja)}.print-preview .print-card .s{font-size:13px;color:#444;line-height:1.35}.print-preview .print-card .p{font-size:12px;color:#333;margin-top:auto}@media(max-width:600px){.print-preview .print-grid{grid-template-columns:1fr;padding:16px}}}@media print{@page{size:A4;margin:10mm}body{background:#fff!important;color:#000}body>#root>*:not(.print-sheet){display:none!important}.print-sheet{display:block}.print-toolbar{display:none}.print-preview{background:#fff;padding:0}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:6mm}.print-card{break-inside:avoid;border:.4mm solid #bbb;border-radius:4mm;min-height:62mm;padding:5mm 6mm;display:flex;flex-direction:column;gap:2mm;border-left-width:3mm;position:relative;color:#111}.print-card.phase-warmup{border-left-color:var(--warmup)}.print-card.phase-topic{border-left-color:var(--topic)}.print-card.phase-deeper{border-left-color:var(--deeper)}.print-card.phase-closing{border-left-color:var(--closing)}.print-card .m{font-size:8pt;color:#666;display:flex;justify-content:space-between}.print-card .t{font-family:var(--font-card);font-weight:700;font-size:14pt;line-height:1.3;word-break:keep-all}.print-card .t:lang(ja){font-family:var(--font-card-ja)}.print-card .s{font-size:9.5pt;color:#444;line-height:1.35}.print-card .p{font-size:8.5pt;color:#333;margin-top:auto}.print-head{margin:0 0 4mm;font-size:10pt;color:#444;display:flex;justify-content:space-between}}.req{font-style:normal;color:var(--warmup)}.field-error{color:var(--warmup);font-size:14px;line-height:1.45;word-break:keep-all}.field-note{color:var(--chalk-2);font-size:13px;line-height:1.45;word-break:keep-all}.input[aria-invalid=true]{border-color:var(--warmup)}.btn[aria-disabled=true]{opacity:.55}.stepper-val{display:inline-flex;align-items:baseline;justify-content:center;min-width:76px}.stepper-val input{width:3.2ch;border:0;background:transparent;text-align:right;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;padding:0;color:var(--chalk);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.stepper-val input::-webkit-outer-spin-button,.stepper-val input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-val small{font-weight:500;color:var(--chalk-2);font-size:13px;margin-left:2px}.stepper button:disabled{opacity:.35;cursor:not-allowed}.ai-note{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:#00000038;border:1px solid var(--felt-line-2);font-size:14px;color:var(--chalk-2);word-break:keep-all}.ai-note b{display:flex;align-items:center;gap:6px;color:var(--chalk)}.ai-note b svg{width:16px;height:16px}.ai-note .row{display:flex;gap:6px;flex-wrap:wrap}.ai-note.stale{border-color:var(--warmup);background:color-mix(in srgb,var(--warmup) 12%,rgba(0,0,0,.3))}.toast{display:flex;align-items:center;gap:12px;word-break:keep-all;line-height:1.45}.toast .btn{border-color:var(--card-edge);color:var(--ink);flex:none}.toast .btn:hover{background:var(--card-2)}.host{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr)}.host-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--gutter);flex-wrap:wrap}.host-top .play-title span{white-space:normal}.host-top .ok{color:#9be0b8}.host-top .warn{color:var(--warmup)}.host-timer{display:flex;align-items:center;gap:10px}.host-timer time{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.host-timer time.low{color:var(--closing)}.host-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;padding:8px var(--gutter);min-height:0}@media(max-width:800px){.host-main{grid-template-columns:minmax(0,1fr)}}.host-now{display:grid;gap:10px;align-content:start}.host-now .card-text{font-size:clamp(22px,2.6vw,40px)}.host-round{margin:0;color:var(--chalk);font-size:16px;word-break:keep-all}.host-side{display:grid;gap:16px;align-content:start}.host-side h3{margin:0 0 8px;font-size:14px;color:var(--chalk-2)}.host-memo{padding:16px;border-radius:14px;background:#00000047;border:1px solid var(--warmup)}.host-memo p{margin:0;font-size:18px;line-height:1.55;word-break:keep-all}.host-next .card{height:auto;min-height:180px}.host-next .card-text{font-size:20px}.host-hint{color:var(--chalk-2);font-size:13px}.broken{min-height:100dvh;display:grid;place-content:center;justify-items:start;gap:14px;padding:32px var(--gutter);max-width:560px;margin:0 auto}.broken h1{margin:0;font-family:var(--font-card);font-size:clamp(26px,5vw,38px);line-height:1.25;word-break:keep-all}.broken p{margin:0;color:var(--chalk-2);line-height:1.6;word-break:keep-all}.broken details{color:var(--chalk-3);font-size:13px}.broken code{word-break:break-all}.stale-ask{display:grid;gap:6px;margin:26px 0 -14px;padding:14px 16px;border-radius:14px;border:1px solid var(--warmup);background:color-mix(in srgb,var(--warmup) 12%,rgba(0,0,0,.3));color:var(--chalk-2);word-break:keep-all}.stale-ask b{color:var(--chalk)}.stale-ask .row{display:flex;gap:8px;flex-wrap:wrap}@media print{.print-card:has(.p) .t{font-size:12pt}.print-card:has(.p) .s{font-size:8.5pt}.print-card .p{font-size:8pt}}@media print{.print-head{gap:4mm}.print-head>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-head>span:last-child{flex:none}.print-card .p{font-size:7.5pt;line-height:1.3}}
