:root{
  --ink:#f3ead6; --gold:#d6b05c; --sumi:rgba(14,12,10,.88); --bg:#070912;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none !important}
html,body{margin:0;height:100%;overflow:hidden;overflow-x:clip;background:var(--bg);color:var(--ink);
  font-family:'Shippori Mincho',serif;user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:none}
button{font:inherit;color:inherit;cursor:pointer}
#view{position:fixed;inset:0;width:100%;height:100%;display:block}
#touch{position:fixed;inset:0}
#stick{position:fixed;left:0;top:0;width:120px;height:120px;border-radius:50%;
  border:2px solid rgba(243,234,214,.35);background:rgba(0,0,0,.18);pointer-events:none}
#knob{position:absolute;left:36px;top:36px;width:48px;height:48px;border-radius:50%;
  background:rgba(243,234,214,.55);box-shadow:0 0 12px rgba(255,190,110,.5)}

#hud{position:fixed;left:0;right:0;top:calc(var(--safe-t) + 10px);padding:0 10px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
.chip{background:rgba(10,9,8,.62);border:1px solid rgba(214,176,92,.45);border-radius:16px;padding:4px 11px;font-size:14px;line-height:1.3;white-space:nowrap}
.chip b{font-size:17px;color:#ffd77a}
.chip.era{color:var(--gold)}
.chip.menu{margin-left:auto;pointer-events:auto;font-size:18px;padding:2px 12px}
#hint{position:fixed;left:50%;bottom:calc(var(--safe-b) + 22px);transform:translateX(-50%);max-width:calc(100% - 32px);
  background:rgba(10,9,8,.66);border:1px solid rgba(214,176,92,.4);border-radius:18px;padding:7px 16px;font-size:14px;text-align:center;pointer-events:none;white-space:nowrap}
#hint.pop{animation:pop .4s}
#toast{position:fixed;left:50%;top:calc(var(--safe-t) + 64px);transform:translateX(-50%);max-width:calc(100% - 32px);
  background:rgba(20,40,70,.85);border:1px solid #8fd0ff;border-radius:18px;padding:8px 18px;font-size:15px;font-weight:800;pointer-events:none;white-space:nowrap}
#toast.pop{animation:pop .4s}
@keyframes pop{0%{transform:translateX(-50%) scale(.8)}60%{transform:translateX(-50%) scale(1.06)}100%{transform:translateX(-50%) scale(1)}}

.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.35)}
.overlay[hidden]{display:none}

/* うんちく（案A：墨） */
#unchiku .card{position:relative;width:100%;max-width:420px;display:flex;gap:12px;align-items:center;padding:16px 14px 26px;border-radius:6px;
  background:linear-gradient(180deg,rgba(20,18,16,.88),rgba(12,10,9,.92));border:1px solid rgba(214,176,92,.55);
  box-shadow:0 0 0 3px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.6);animation:cardIn .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes cardIn{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.corner{position:absolute;width:16px;height:16px;border:2px solid var(--gold)}
.tl{left:5px;top:5px;border-right:0;border-bottom:0}.tr{right:5px;top:5px;border-left:0;border-bottom:0}
.bl{left:5px;bottom:5px;border-right:0;border-top:0}.br{right:5px;bottom:5px;border-left:0;border-top:0}
#unchiku .icon{flex:0 0 108px;height:108px;position:relative}
#unchiku .icon img{position:absolute;inset:0;width:100%;height:100%}
.rays{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle,rgba(255,210,122,.85) 0,rgba(255,210,122,.25) 45%,transparent 70%),
    repeating-conic-gradient(rgba(255,207,106,.55) 0 4deg,transparent 4deg 15deg);
  -webkit-mask:radial-gradient(circle,#000 55%,transparent 72%);mask:radial-gradient(circle,#000 55%,transparent 72%);animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#unchiku .body{flex:1;min-width:0}
.name{font-weight:800;font-size:23px;letter-spacing:.06em;border-bottom:1px solid rgba(214,176,92,.45);padding-bottom:4px}
.ruby{font-size:11px;font-weight:500;opacity:.75;margin-left:6px;letter-spacing:.1em}
.meta{display:flex;gap:8px;align-items:center;margin:7px 0 6px;font-size:12px}
.box{border:1px solid currentColor;padding:1px 7px;border-radius:2px;font-weight:800;min-width:14px;text-align:center}
.meta .era{margin-left:auto;font-size:11px;opacity:.8}
.text{font-size:12.5px;line-height:1.65;font-weight:500}
.next{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);width:44px;height:30px;border:0;background:none;padding:0}
.next::before{content:"";position:absolute;left:11px;top:4px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:13px solid var(--gold);filter:drop-shadow(0 2px 2px #000);animation:bob 1s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(3px)}}

/* タイトル */
.title{flex-direction:column;gap:28px;background:radial-gradient(ellipse at 50% 70%,rgba(255,150,60,.18),transparent 60%),rgba(4,5,10,.72)}
.logo{text-align:center;font-weight:800;font-size:44px;letter-spacing:.12em;text-shadow:0 0 18px rgba(255,170,80,.6)}
.logo small{display:block;font-size:14px;letter-spacing:.3em;color:var(--gold);font-weight:500;margin-bottom:6px}
.logo span{font-size:14px;opacity:.7;letter-spacing:0}
.btns{display:flex;flex-direction:column;gap:10px;width:min(260px,100%)}
.primary,.btns button,.links button{border-radius:6px;border:1px solid rgba(214,176,92,.6);background:rgba(14,12,10,.8);padding:11px 16px;font-size:16px}
button.primary{background:linear-gradient(180deg,#b3471f,#7a2a1d);border-color:#e0a050;font-weight:800;letter-spacing:.2em}
.links{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.links button{font-size:13px;padding:7px 10px}

.panel{width:100%;max-width:420px;max-height:80vh;overflow:auto;background:var(--sumi);border:1px solid rgba(214,176,92,.55);border-radius:6px;padding:16px 18px;touch-action:pan-y}
.panel h2{margin:0 0 10px;font-size:20px;color:var(--gold)}
.panel h3{margin:8px 0 4px;font-size:16px}
.panel ul{padding-left:1.2em;margin:6px 0 14px;font-size:14px;line-height:1.7}
.panel p{font-size:14px;line-height:1.7}
.panel .stat{color:#ffd77a}
.panel .primary{width:100%}

/* デバッグ画面 */
.dbg pre{white-space:pre-wrap;font-size:12px;line-height:1.6;background:rgba(0,0,0,.35);border-radius:4px;padding:8px;margin:0 0 6px;font-family:inherit}
.dbg .row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.dbg .row button{flex:1 1 auto;border-radius:6px;border:1px solid rgba(214,176,92,.6);background:rgba(14,12,10,.8);padding:8px 6px;font-size:13px}
.dbg .row button.primary{background:linear-gradient(180deg,#b3471f,#7a2a1d)}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important}
}
