/* =========================================================
   USOMAP / base — デザイントークン・土台・ヘッダー
   ========================================================= */
:root{
  --paper:#efe5cf; --paper-d:#e4d7bb;
  --bg0:#191410; --bg1:#221b14; --bg2:#2b2318; --bg3:#332a1d;
  --line:#463a29; --line-2:#3a2f21;
  --brass:#cba25a; --brass-d:#a8823c; --brass-dim:#7d6b4c;
  --accent:#b06a3e; --accent-d:#8f4f2a;
  --txt:#e6dcc4; --txt-2:#c0b191; --txt-3:#93856a;
  --ok:#79a86b; --warn:#c98a3e;
  --r:6px; --r-s:4px;
  --sh:0 8px 30px rgba(0,0,0,.42);
  --jp:'Shippori Mincho',serif;
  --mincho:'Zen Old Mincho','Shippori Mincho',serif;
  --la:'Cormorant Garamond','Shippori Mincho',serif;
  --panelW:322px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--jp); color:var(--txt);
  background:radial-gradient(130% 100% at 18% -10%, #34281a 0%, #241c13 52%, #17120c 100%);
  min-height:100vh; display:flex; flex-direction:column;
  -webkit-font-smoothing:antialiased; overflow:hidden;
}
button,input,select{font-family:inherit;color:inherit}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#4a3c22;border-radius:6px}
::-webkit-scrollbar-track{background:transparent}

/* ---------------- ヘッダー ---------------- */
header{
  flex:none; display:flex; align-items:center; gap:14px;
  padding:11px 18px; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(203,162,90,.09), rgba(203,162,90,.02));
  position:relative; z-index:30;
}
.brand{display:flex;align-items:baseline;gap:12px;min-width:0}
.brand h1{
  font-family:var(--la); font-weight:700; letter-spacing:.26em;
  font-size:clamp(17px,2.6vw,26px); color:var(--brass); white-space:nowrap;
  text-shadow:0 1px 0 rgba(0,0,0,.55);
}
.brand .sub{font-size:12.5px;color:var(--txt-3);letter-spacing:.04em;white-space:nowrap}
.hdr-sp{margin-left:auto}
.hdr-acts{display:flex;gap:7px;align-items:center}
.seal{
  font-family:var(--la);font-size:10.5px;letter-spacing:.3em;color:var(--brass-dim);
  border:1px solid var(--line-2);padding:5px 9px;border-radius:2px;white-space:nowrap;
}

/* ---------------- 共通ボタン ---------------- */
.ibtn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:34px;padding:0 11px;background:#1d160e;border:1px solid var(--line-2);
  color:var(--brass);border-radius:var(--r-s);cursor:pointer;font-size:12.5px;
  transition:background .15s,border-color .15s,color .15s;white-space:nowrap;
}
.ibtn:hover{border-color:var(--brass-d);color:#f4e8ca;background:#241c11}
.ibtn:active{transform:translateY(1px)}
.ibtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.ibtn.icon-only{width:34px;padding:0}
.ibtn:disabled{opacity:.32;cursor:default}
.ibtn:disabled:hover{border-color:var(--line-2);color:var(--brass);background:#1d160e}

.btn{width:100%;padding:11px;border-radius:var(--r-s);cursor:pointer;
  font-family:var(--la);letter-spacing:.1em;font-size:13px;border:1px solid;transition:.15s}
.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-d));
  color:#fff3e3;border-color:var(--accent-d);font-weight:600}
.btn.primary:hover{filter:brightness(1.12)}
.btn.ghost{background:#1d160e;color:var(--brass);border-color:var(--line-2)}
.btn.ghost:hover{background:var(--brass);color:#241c10;border-color:var(--brass)}
.btnrow{display:grid;gap:7px}
.btnrow.c2{grid-template-columns:1fr 1fr}
/* リンクをボタンとして使うとき */
a.btn,a.ibtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
a.btn:hover,a.ibtn:hover{text-decoration:none}

/* ---------------- 全体レイアウト ---------------- */
.wrap{flex:1;display:flex;min-height:0;position:relative}
