:root{color-scheme:dark;--bg:#080d12;--panel:#111c24;--border:#334450;--gold:#edc677;--text:#eef3f3;--muted:#acbcc3;--accent:#80d4af}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#1b3438 0,transparent 65%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;font-size:16px;line-height:1.75;min-height:100vh}main{max-width:960px;margin:0 auto;padding:40px 28px}header{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid #edc67744}h1{font-size:clamp(1.3rem,4vw,1.9rem);line-height:1.5;margin:2px 0;font-family:Georgia,"Yu Mincho",serif;letter-spacing:.04em}.mark{font:700 32px Georgia;color:var(--gold);border:1px solid var(--gold);outline:1px solid #edc67745;outline-offset:5px;width:48px;height:48px;display:grid;place-items:center;flex-shrink:0;background:#edc67709}.eyebrow{color:var(--gold);font-size:.8rem;letter-spacing:.22em;margin:0}.badge{margin-left:auto;font-size:.875rem;white-space:nowrap;border:1px solid #edc67766;padding:4px 12px;color:var(--gold);background:#edc67708}.game{color:var(--muted);font-size:.875rem;margin:18px 0 26px}.mode-nav{display:flex;gap:0;margin:0 0 24px;border:1px solid var(--border);background:#080f16}.mode-nav button{flex:1;text-align:center;border:0;border-radius:0;border-bottom:3px solid transparent;background:transparent;min-height:58px;color:var(--muted)}.mode-nav button+button{border-left:1px solid var(--border)}.mode-nav button[aria-pressed=true]{border-bottom-color:var(--gold);color:var(--gold);background:linear-gradient(0deg,#edc67714,transparent)}.panel{position:relative;border:1px solid #65817e;background:linear-gradient(135deg,#18292e 0,#111c24 48%,#111a23 100%);border-radius:3px;padding:36px;min-height:420px;box-shadow:0 24px 60px #0006,inset 0 0 0 5px #080d1233}.panel:before,.panel:after{content:"";position:absolute;pointer-events:none;width:26px;height:26px;border-color:var(--gold);border-style:solid}.panel:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.panel:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.step{font-size:.875rem;color:var(--accent);margin:0 0 14px;letter-spacing:.05em}.topline{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #ffffff10;margin-bottom:24px}.count{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}h2{font-size:clamp(1.4rem,4vw,1.95rem);line-height:1.5;margin:8px 0 16px;letter-spacing:.02em}.hint{color:var(--muted);margin:0 0 26px}.choices{display:grid;gap:12px;counter-reset:choice}.types{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}button{font:inherit;text-align:left;color:var(--text);border:1px solid var(--border);background:#182731;padding:16px 20px;border-radius:3px;cursor:pointer;line-height:1.5;min-height:56px;transition:background .15s,border-color .15s,box-shadow .15s}button:hover{background:#243943;border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}button:active{background:#2d424a}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.choices>button:not(.type){display:flex;align-items:center;gap:16px}.choices>button:not(.type):before{counter-increment:choice;content:counter(choice,decimal-leading-zero);font-size:.875rem;color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0}.type{position:relative;min-height:146px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:22px 24px;gap:10px;text-align:left;border-top:2px solid var(--slot,var(--gold));background:linear-gradient(125deg,#ffffff06,transparent),#111f29;overflow:hidden}.type:nth-child(1){--slot:#80d4af}.type:nth-child(2){--slot:#91bbf0}.type:nth-child(3){--slot:#edc677}.type:nth-child(4){--slot:#c6aff4}.type:before{counter-increment:choice;content:counter(choice,decimal-leading-zero);font-size:.875rem;color:var(--slot);letter-spacing:.12em}.type strong{font-size:1.5rem;line-height:1.4}.type span{color:var(--muted);font-size:.875rem}.type:hover{border-color:var(--slot);box-shadow:inset 0 0 24px #ffffff04}.nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;border-top:1px solid var(--border);padding-top:20px}.nav button,.quiet{background:transparent;color:var(--muted);font-size:.875rem}.result{background:#0b151e;border:1px solid #6f6040;border-left:3px solid var(--gold);border-radius:3px;padding:18px 22px;margin-bottom:12px;box-shadow:inset 0 0 20px #edc67704}.result h3{margin:0 0 6px;font-size:1.25rem;color:var(--gold)}.result p{color:var(--muted);margin:0;font-size:1rem}.notice{color:#f3d99f;padding:16px;background:#edc6770b;border-left:2px solid var(--gold)}.crumb{color:var(--muted);font-size:.875rem}.crumb li{margin-bottom:4px}footer{color:var(--muted);font-size:.875rem;margin-top:28px}footer p{margin:12px 0}details{border-top:1px solid var(--border);padding-top:16px}summary{cursor:pointer}a{color:var(--gold)}.catalog-controls{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0 24px}.catalog-controls label{font-size:.875rem;color:var(--accent)}input,select{font:inherit;min-height:48px;border:1px solid var(--border);background:#0b151e;color:var(--text);border-radius:3px;padding:10px 14px;width:100%}input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.table-wrap{overflow-x:auto;border:1px solid var(--border)}table{border-collapse:collapse;width:100%;font-size:1rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff0d;padding:15px 14px}th{color:var(--gold);white-space:nowrap;background:#080f17;font-size:.875rem;letter-spacing:.04em}tbody tr:nth-child(even){background:#ffffff03}tbody tr:hover{background:#edc67708}td:first-child{font-weight:600;min-width:140px}td:nth-child(2){color:var(--accent);min-width:90px;font-size:.875rem}td:nth-child(3){min-width:180px;color:var(--muted)}@media(max-width:550px){main{padding:26px 16px}.panel{padding:24px 18px}.type{min-height:132px;padding:18px 16px;gap:8px}.types{gap:10px}.type strong{font-size:1.25rem}.badge{display:none}.game{margin:16px 0 20px}h1{font-size:1.2rem}.mark{width:40px;height:40px}header{gap:16px}.eyebrow{font-size:.75rem}.topline{align-items:flex-start}.mode-nav button{font-size:.95rem;padding:14px 8px}.choices>button:not(.type){padding:16px 14px;gap:12px}}@media(max-width:340px){.types{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.spell-guide{margin-top:36px;padding:30px;border:1px solid #5a4b75;border-top:2px solid #c6aff4;background:linear-gradient(135deg,#271e3500,#271e352b),#111a23}.spell-guide>.eyebrow{color:#c6aff4;letter-spacing:.08em}.spell-guide h2{font-size:1.5rem}.spell-effects{list-style:none;counter-reset:spell;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.spell-effects li{counter-increment:spell;padding:18px;border:1px solid #c6aff42a;background:#080d1233;display:grid;gap:7px;align-content:start}.spell-effects li:before{content:counter(spell,decimal-leading-zero);color:#c6aff4;font-size:.875rem;letter-spacing:.1em}.spell-effects strong{font-size:1rem;line-height:1.6}.spell-effects span{font-size:.875rem;color:var(--muted);line-height:1.75}.spell-note{padding:14px 16px;border-left:2px solid #c6aff4;background:#c6aff409;font-size:.95rem}.source{font-size:.875rem;color:var(--muted);margin-bottom:0}@media(max-width:550px){.spell-guide{padding:24px 18px;margin-top:26px}.spell-effects{grid-template-columns:1fr}}
.legal{margin-top:28px;padding:28px;background:var(--panel);border:1px solid var(--border)}.legal h2{font-size:1.25rem;color:var(--gold);margin-top:32px}.legal h2:first-child{margin-top:0}.legal p,.legal li{line-height:1.9}.contact-link{display:inline-block;padding:14px 20px;border:1px solid var(--gold);text-decoration:none;background:#edc6770b}.footer-links{line-height:2.2}@media(max-width:550px){.legal{padding:22px 18px}}
.check-reset{margin:0 0 20px;border-color:#c6aff4;color:#dfd0fc}.check-group{margin:22px 0}.check-group h3{color:var(--gold);font-size:1.1rem;border-bottom:1px solid var(--border);padding-bottom:10px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 14px;background:#0b151e;border:1px solid var(--border);cursor:pointer}.check-item input{width:22px;height:22px;min-height:0;padding:0;flex-shrink:0;accent-color:var(--accent)}.check-item:has(input:checked){border-color:var(--accent);background:#80d4af10}.check-item:has(input:checked) span{color:var(--accent)}@media(max-width:550px){.mode-nav{flex-wrap:wrap}.mode-nav button{flex:1 1 33%;font-size:.875rem}.check-grid{grid-template-columns:1fr}}
.ad-section{margin:36px 0 28px;padding:20px 0;border-top:1px solid var(--border);min-height:140px}.ad-section[hidden]{display:none}.ad-label{font-size:.875rem;color:var(--muted);text-align:center;margin:0 0 14px}.ad-section .adsbygoogle{width:100%;min-height:100px}

.report-button,.record-button{font-size:14px;padding:10px 14px;margin-top:12px}.report-dialog{background:#131d28;color:#edf5fb;border:1px solid #52b8ae;border-radius:16px;width:min(620px,calc(100% - 32px));max-height:85vh;padding:24px;box-sizing:border-box}.report-dialog::backdrop{background:#000b}.report-dialog label{display:block;margin:16px 0;font-size:16px}.report-dialog input,.report-dialog textarea{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:12px;background:#09111b;color:#fff;border:1px solid #69858c;border-radius:8px;font:inherit}.report-actions{display:flex;flex-wrap:wrap;gap:10px}.report-context{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px}.report-dialog a{color:#79dfd1}.report-status{font-size:14px}.report-dialog button{min-height:44px}.report-dialog h2{font-size:24px}.report-dialog form{margin:0}
.theme-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}.theme-controls span{font-size:.875rem;color:var(--muted);margin-right:4px}.theme-controls button{font-size:.875rem;min-height:44px;padding:9px 16px}.theme-controls button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 -2px var(--gold)}
:root[data-theme=light]{color-scheme:light;--bg:#edf3f6;--panel:#ffffff;--border:#a8b9c3;--gold:#795216;--text:#162a36;--muted:#475e6b;--accent:#156446}
html[data-theme=light] body{background:radial-gradient(ellipse at 50% 0,#d4e8eb 0,transparent 65%),var(--bg)}
html[data-theme=light] header{border-bottom-color:#b9a886}
html[data-theme=light] .mark,html[data-theme=light] .badge{background:#fff8e8;border-color:#96733b;outline-color:#b9a886}
html[data-theme=light] .mode-nav{background:#f9fcfd}
html[data-theme=light] .mode-nav button[aria-pressed=true]{background:#f4e9d1}
html[data-theme=light] .panel{background:linear-gradient(135deg,#f2faf9,#ffffff 48%,#f5f8fc);border-color:#8da7ae;box-shadow:0 18px 42px #284a5a14,inset 0 0 0 5px #ffffff80}
html[data-theme=light] .topline{border-bottom-color:#cddbe1}
html[data-theme=light] button{background:#eaf1f5}
html[data-theme=light] button:hover{background:#dce9ef}
html[data-theme=light] button:active{background:#ccdde5}
html[data-theme=light] .type{background:linear-gradient(125deg,#ffffff,#eaf1f5)}
html[data-theme=light] .type:nth-child(1){--slot:#166c4b}html[data-theme=light] .type:nth-child(2){--slot:#255ba0}html[data-theme=light] .type:nth-child(3){--slot:#795216}html[data-theme=light] .type:nth-child(4){--slot:#70429a}
html[data-theme=light] .nav button{background:transparent}
html[data-theme=light] .result{background:#ffffff;border-color:#bda779;box-shadow:none}
html[data-theme=light] .notice{color:#614615;background:#f7ecd5}
html[data-theme=light] input,html[data-theme=light] select{background:#ffffff}
html[data-theme=light] th{background:#e8eff3}
html[data-theme=light] th,html[data-theme=light] td{border-bottom-color:#d4dfe5}
html[data-theme=light] tbody tr:nth-child(even){background:#f3f7fa}html[data-theme=light] tbody tr:hover{background:#f5ecd9}
html[data-theme=light] .spell-guide{background:#f7f3fc;border-color:#b8a2cf;border-top-color:#70429a}
html[data-theme=light] .spell-guide>.eyebrow,html[data-theme=light] .spell-effects li:before{color:#70429a}
html[data-theme=light] .spell-effects li{background:#ffffff;border-color:#d6c8e7}
html[data-theme=light] .spell-note{background:#eee6f7;border-color:#70429a}
html[data-theme=light] .check-reset{color:#70429a;border-color:#9571b5}
html[data-theme=light] .check-item{background:#ffffff}
html[data-theme=light] .check-item:has(input:checked){background:#e3f3e9}
html[data-theme=light] .report-dialog{background:#ffffff;color:var(--text);border-color:#649ba0}
html[data-theme=light] .report-dialog input,html[data-theme=light] .report-dialog textarea{background:#f7fafc;color:var(--text);border-color:#8fa9b5}
html[data-theme=light] .report-dialog a{color:#186750}
html[data-theme=light] .theme-controls button[aria-pressed=true]{background:#f4e9d1}
