:root{font-family:Noto Sans JP,Noto Sans SC,system-ui,sans-serif;color:#f4efe7;background:radial-gradient(circle at top,rgba(79,128,195,.32),transparent 28%),linear-gradient(180deg,#111726,#0b1020 48%,#090d17);line-height:1.6;font-weight:400;text-rendering:optimizeLegibility;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: rgba(11, 17, 30, .88);--surface-soft: rgba(18, 27, 46, .72);--border: rgba(183, 201, 235, .18);--text-dim: rgba(228, 232, 241, .72);--accent-blue: #8eb8ff;--accent-amber: #f3c27b;--accent-success: #8fd4b2;--shadow: 0 18px 50px rgba(2, 6, 20, .35)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;border:1px solid transparent;padding:.85rem 1.2rem;font:inherit;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}button:hover,.button:hover{transform:translateY(-1px)}button:disabled,.button:disabled{cursor:not-allowed;opacity:.58;transform:none}.button--primary{background:linear-gradient(135deg,#7daaffe0,#5f85e0e0);color:#09101a}.button--danger{background:#932e36b8;border-color:#e46f7b52;color:#fff}.button--secondary{background:#141e34b8;border-color:var(--border)}.site-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:28px}.site-title{margin:0;font-family:"Noto Serif JP","Noto Serif SC",serif;font-size:1.7rem;letter-spacing:.04em}.site-subtitle{margin:.35rem 0 0;color:var(--text-dim);font-size:.96rem}.site-nav{display:flex;flex-wrap:wrap;gap:.6rem}.site-nav__link{padding:.65rem .9rem;border-radius:999px;color:var(--text-dim);border:1px solid transparent}.site-nav__link--active,.site-nav__link:hover{border-color:var(--border);color:#fff;background:#11192bb3}.site-main{display:block}.page-stack{display:grid;gap:24px}.page-heading h1,.hero-panel h1,.section-card h2,.route-grid h3{margin:0;font-family:"Noto Serif JP","Noto Serif SC",serif;font-weight:600}.page-heading p,.hero-panel p,.section-card__header p,.mini-card p,.hero-panel__meta dd{color:var(--text-dim)}.hero-panel,.section-card,.mini-card,.route-tile{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;padding:28px;border-radius:28px}.hero-panel__copy{display:grid;gap:16px}.hero-panel__copy h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.12}.hero-panel__actions{display:flex;flex-wrap:wrap;gap:.8rem}.hero-panel__meta{display:grid;gap:12px;margin:0;padding:0}.hero-panel__meta div{padding:16px;border-radius:20px;background:var(--surface-soft)}.hero-panel__meta dt{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.hero-panel__meta dd{margin:.45rem 0 0;font-size:1rem}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.section-card{border-radius:24px;padding:22px}.section-card--blue{background:linear-gradient(180deg,#121c32f0,#090e18f5),var(--surface)}.section-card--amber{background:linear-gradient(180deg,#281a1080,#0a0e17f2),var(--surface)}.section-card__eyebrow{margin:0 0 .4rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-blue)}.section-card__header{display:grid;gap:10px;margin-bottom:12px}.section-card__body{display:grid;gap:14px}.plain-list{margin:0;padding-left:1.1rem}.plain-list li+li{margin-top:.55rem}.route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.route-tile,.mini-card{border-radius:18px;padding:16px}.route-tile{transition:transform .14s ease,border-color .14s ease}.route-tile:hover{transform:translateY(-1px);border-color:#8eb8ff73}.portal-auth-grid{align-items:start}.mini-card--tall{min-height:220px}.mini-card--compact{min-height:unset}.status-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.status-badge--info{background:#5683d538;color:var(--accent-blue)}.status-badge--warn{background:#d69c4d2e;color:var(--accent-amber)}.status-badge--success{background:#53b38133;color:var(--accent-success)}.table-shell{display:grid;gap:10px}.table-shell__row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:1rem;padding:12px 14px;border-radius:14px;background:#121b2eb3}.table-shell__row--head{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.field-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid{display:grid;gap:18px}.field{display:grid;gap:.55rem}.field span{font-size:.92rem;color:var(--text-dim)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--border);border-radius:16px;padding:.9rem 1rem;color:#fff;background:#0a111fe0;font:inherit}.field textarea{resize:vertical;min-height:132px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(142,184,255,.4);outline-offset:1px}.action-row{display:flex;flex-wrap:wrap;gap:.8rem}.inline-message{margin:0;color:var(--text-dim)}.inline-message--success{color:var(--accent-success)}.inline-message--error{color:#ffb7b7}@media(max-width:840px){.site-header,.hero-panel,.grid-two,.field-grid,.detail-grid{grid-template-columns:1fr}.site-header{gap:16px}.site-nav{width:100%}}
