:root{
  --bg:#0b1020;
  --bg-soft:#121a32;
  --card:#ffffff;
  --card-soft:#f6f8fc;
  --text:#162033;
  --muted:#657184;
  --line:#dfe6f1;
  --brand:#1f7a5c;
  --brand-dark:#13543f;
  --accent:#f3b33d;
  --danger:#b3261e;
  --ok:#177245;
  --shadow:0 18px 45px rgba(4,10,24,.15);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#eef3f8;color:var(--text);line-height:1.55}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
main{min-height:calc(100vh - 170px)}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);background:rgba(11,16,32,.94);backdrop-filter:blur(16px);color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.16)}
.brand{display:flex;align-items:center;gap:.8rem;color:#fff}.brand:hover{text-decoration:none}.brand small{display:block;color:#b9c4d8;font-size:.82rem}.brand-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff;font-weight:800;color:#111827;box-shadow:0 8px 24px rgba(0,0,0,.28);overflow:hidden;flex:0 0 auto}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:3px;display:block}.logo-mark{border:2px solid rgba(255,255,255,.68)}
.site-header nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{color:#dfe7f5;padding:.55rem .8rem;border-radius:999px}.site-header nav a:hover{background:rgba(255,255,255,.09);text-decoration:none}.admin-header{background:#111827}
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:2rem;align-items:center;margin:0;padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,3rem);background:radial-gradient(circle at 20% 20%,rgba(45,168,125,.35),transparent 28%),radial-gradient(circle at 80% 20%,rgba(243,179,61,.24),transparent 26%),linear-gradient(145deg,#0a1020,#17213c);color:#fff}
.hero:before{content:"";position:absolute;inset:auto -10% -42% -10%;height:70%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 75px);transform:rotate(-4deg)}
.hero-content,.signal-card{position:relative;z-index:1}.hero h1{font-size:clamp(2.2rem,6vw,5rem);line-height:1.02;margin:.2rem 0 1rem;letter-spacing:-.05em}.hero p{font-size:1.14rem;color:#d7e2f4;max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem;color:var(--brand);margin:0 0 .35rem}.hero .eyebrow{color:#8be2bd}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.75rem 1rem;font-weight:750;background:#fff;color:var(--text);cursor:pointer;box-shadow:none}.button:hover{text-decoration:none;transform:translateY(-1px)}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.button.ghost{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:inherit}.button.small{padding:.48rem .7rem;font-size:.9rem}.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.signal-card{padding:1.4rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:0 30px 80px rgba(0,0,0,.22)}.logo-signal-card{text-align:center}.hero-logo{display:block;width:min(260px,70vw);height:auto;margin:0 auto 1rem;background:#fff;border-radius:50%;padding:.55rem;box-shadow:0 18px 55px rgba(0,0,0,.28)}.signal-card code{display:block;margin-top:1rem;padding:.85rem;border-radius:16px;background:rgba(0,0,0,.24);color:#fff}.signal-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#42e897;box-shadow:0 0 0 8px rgba(66,232,151,.15);margin-right:.5rem}
.section,.cache-detail{padding:clamp(1.2rem,4vw,3rem);max-width:1220px;margin:0 auto}.section-head{margin-bottom:1.2rem}.section-head h2,.section h1{margin:.1rem 0;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.035em}.split{display:flex;align-items:end;justify-content:space-between;gap:1rem}.cache-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.cache-card,.content-card,.checker-card,.auth-card,.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.cache-card{padding:1.35rem;display:flex;flex-direction:column;gap:.9rem}.cache-card h3{font-size:1.45rem;line-height:1.15;margin:.2rem 0 0}.cache-card p{color:var(--muted);margin:0}.badge{align-self:flex-start;background:#fff3d6;color:#7a4d00;border:1px solid #ffe1a3;border-radius:999px;padding:.25rem .65rem;font-weight:800;font-size:.78rem}.meta-list{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.4rem 0}.meta-list div{background:var(--card-soft);border-radius:16px;padding:.55rem;text-align:center}.meta-list dt{font-size:.75rem;color:var(--muted)}.meta-list dd{margin:0;font-weight:800}.empty{background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--muted)}
.cache-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.2rem;align-items:start}.cache-main h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.1rem 0 .5rem;letter-spacing:-.05em}.subtitle{font-size:1.15rem;color:var(--muted)}.cache-meta-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.cache-meta-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;font-weight:700}.content-card{padding:1.35rem;margin-bottom:1rem}.content-card h2,.content-card h3{margin-top:0}.puzzle-block{padding:1rem;border:1px solid var(--line);background:var(--card-soft);border-radius:20px;margin:1rem 0}.formula{font-size:1.25rem;font-weight:900;background:#101827;color:#fff;border-radius:18px;padding:1rem;letter-spacing:.03em}.source-box{border-left:5px solid var(--brand);padding:1rem;background:#eefaf5;border-radius:18px}.checker-panel{position:sticky;top:95px}.checker-card{padding:1.2rem}.checker-form{display:grid;gap:.8rem}.checker-form input,.auth-card input,.form-grid input,.form-grid select,.form-grid textarea,.edit-form input,.edit-form select,.edit-form textarea,.filter-bar select{width:100%;border:1px solid var(--line);border-radius:16px;padding:.8rem .9rem;font:inherit;background:#fff;color:var(--text)}label{font-weight:750;display:grid;gap:.35rem}.result,.notice{border-radius:18px;padding:.9rem 1rem;margin:.9rem 0}.result.success,.notice.success{background:#e9f8ef;border:1px solid #bde8cc;color:#0b5d32}.result.fail,.notice.error{background:#fff0ed;border:1px solid #ffc6bd;color:#8b1a12}.notice.warning{background:#fff8e7;border:1px solid #f4d289;color:#614000}.hint-list{display:grid;gap:.6rem}.hint{border:1px solid var(--line);border-radius:16px;background:#fff}.hint summary{cursor:pointer;padding:.85rem 1rem;font-weight:850}.hint p{padding:0 1rem 1rem;margin:0;color:var(--muted)}.hint.spoiler{border-color:#f0c36d}.muted{color:var(--muted)}
.auth-wrap{display:grid;place-items:center;min-height:calc(100vh - 130px);padding:2rem}.auth-card{width:min(480px,100%);padding:1.5rem;display:grid;gap:1rem}.auth-logo{width:108px;height:108px;object-fit:contain;margin:0 auto .25rem;background:#fff;border-radius:50%;padding:.4rem;border:1px solid var(--line);box-shadow:0 12px 30px rgba(4,10,24,.12)}.auth-card h1{margin:.2rem 0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.2rem 0}.stat-card{padding:1.2rem;color:var(--text)}.stat-card:hover{text-decoration:none}.stat-card strong{display:block;font-size:2.2rem;line-height:1}.stat-card span{color:var(--muted);font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.small-form{margin-top:1rem}.edit-form{display:grid;gap:1rem}.edit-form textarea{min-height:120px}.edit-form textarea[name="puzzle_html"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.94rem}.checkbox-line{display:flex;align-items:center;gap:.6rem}.checkbox-line input{width:auto}.hint-editor{display:grid;grid-template-columns:1fr 2fr auto;gap:1rem;align-items:end;border-top:1px solid var(--line);padding:1rem 0}.sticky-actions{position:sticky;bottom:0;display:flex;gap:.7rem;align-items:center;background:rgba(238,243,248,.86);backdrop-filter:blur(12px);padding:1rem;border-radius:20px;border:1px solid var(--line)}.danger-zone{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.filter-bar{display:flex;gap:1rem;align-items:end;margin:1rem 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.status-pill{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-weight:900;font-size:.78rem}.status-pill.ok{background:#e9f8ef;color:var(--ok)}.status-pill.bad{background:#fff0ed;color:var(--danger)}.site-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem clamp(1rem,3vw,2rem);color:#cbd5e1;background:#0b1020}
@media (max-width:860px){.hero,.cache-detail{grid-template-columns:1fr}.checker-panel{position:static}.site-header{align-items:flex-start;flex-direction:column}.hint-editor{grid-template-columns:1fr}.meta-list{grid-template-columns:repeat(2,1fr)}}
.d5-block{border-color:#f0c36d;background:linear-gradient(135deg,#fff8e7,#f6f8fc)}
.mini-table{margin:.8rem 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.mini-table th,.mini-table td{border-bottom:1px solid var(--line)}.mini-table tr:last-child td{border-bottom:0}.mini-table code{font-weight:900;color:var(--brand-dark)}
.puzzle-content ol{padding-left:1.25rem}.puzzle-content li+li{margin-top:.35rem}.puzzle-content code{background:#edf2f7;border:1px solid #dbe4ef;border-radius:9px;padding:.08rem .32rem}.formula code{background:transparent;border:0;color:inherit;padding:0}

.logo-signal-card strong{display:block;margin-top:.25rem}.site-header .brand strong{line-height:1.15}.site-header .brand small{max-width:48ch}
