:root {
  color-scheme: light;
  --ink: #173638;
  --muted: #557777;
  --paper: #edf1df;
  --paper-2: #dbe7d8;
  --cyan: #8dbebd;
  --cyan-deep: #356f72;
  --rust: #9a4f42;
  --pink: #e65888;
  --blue: #111edb;
  --yellow: #ffe033;
  --shadow: 0 18px 60px rgba(14, 55, 59, 0.18);
  --serif: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
  --sans: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  color: var(--ink);
  font-family: var(--sans);
  background:
    linear-gradient(180deg, rgba(255,255,255,.32), transparent 30%),
    radial-gradient(circle at 18% 10%, rgba(255,255,230,.85), transparent 24%),
    radial-gradient(circle at 80% 70%, rgba(31,108,112,.2), transparent 40%),
    #99c5c1;
  overflow-x: hidden;
  transition: background .7s, color .7s;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(90deg, transparent 0 8vw, rgba(28,75,76,.08) 8vw calc(8vw + 1px)),
    linear-gradient(90deg, rgba(21,62,63,.18), transparent 10%, transparent 90%, rgba(21,62,63,.18));
  box-shadow: inset 0 0 120px rgba(20,70,70,.22);
  z-index: 20;
}

button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 3px solid #ff7b2f; outline-offset: 3px; }

.grain {
  position: fixed;
  inset: -40%;
  z-index: 1000;
  pointer-events: none;
  opacity: .12;
  background-image:
    radial-gradient(circle, #112f30 0 1px, transparent 1px),
    radial-gradient(circle, #fff 0 1px, transparent 1px);
  background-position: 0 0, 3px 4px;
  background-size: 7px 9px, 11px 13px;
  animation: grain .45s steps(2) infinite;
  mix-blend-mode: multiply;
}

@keyframes grain { 0%{ transform:translate(1%,1%) } 25%{ transform:translate(-1%,2%) } 50%{ transform:translate(2%,-1%) } 75%{ transform:translate(-2%,-1%) } }

.boot {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  position: relative;
  isolation: isolate;
}

.boot::before, .boot::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: min(17vw, 210px);
  border: 1px solid rgba(245,247,219,.7);
  border-width: 0 1px;
  background: linear-gradient(180deg, rgba(239,246,224,.28), rgba(31,91,94,.16));
  z-index: -1;
}
.boot::before { left: 7vw; border-radius: 50% 50% 0 0 / 14% 14% 0 0; }
.boot::after { right: 7vw; border-radius: 50% 50% 0 0 / 14% 14% 0 0; }

.boot-card {
  width: min(720px, 100%);
  padding: clamp(28px, 6vw, 72px);
  background: rgba(240,243,220,.88);
  border: 1px solid rgba(255,255,240,.85);
  box-shadow: var(--shadow), inset 0 0 55px rgba(59,105,100,.12);
  text-align: center;
  position: relative;
  clip-path: polygon(4% 0, 96% 0, 100% 4%, 100% 96%, 96% 100%, 4% 100%, 0 96%, 0 4%);
}
.boot-card::before {
  content: "GOOD PEOPLE ONLY";
  display: block;
  margin-bottom: 28px;
  color: var(--cyan-deep);
  font: 11px/1 var(--mono);
  letter-spacing: .28em;
}
.boot h1 { margin: 0; font: clamp(48px, 10vw, 104px)/.9 var(--serif); letter-spacing: -.08em; }
.boot h1 span { display: block; margin-top: 16px; font: 12px/1.4 var(--mono); letter-spacing: .38em; }
.epigraph { max-width: 480px; margin: 28px auto; font-family: var(--serif); font-size: 19px; line-height: 1.9; white-space: pre-line; }
.content-note { margin: 28px auto; padding: 15px 18px; border: 1px solid rgba(52,102,101,.3); text-align: left; font-size: 12px; line-height: 1.75; color: #456263; }
.primary, .choice-button, .small-button {
  border: 1px solid currentColor;
  background: #f7f4d9;
  padding: 12px 20px;
  cursor: pointer;
  box-shadow: 5px 5px 0 rgba(48,90,91,.2);
  transition: transform .16s, box-shadow .16s, background .16s;
}
.primary:hover, .choice-button:hover, .small-button:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 rgba(48,90,91,.2); background:#fffbea; }
.small-button { padding: 8px 11px; box-shadow: 3px 3px 0 rgba(48,90,91,.16); }
.text-button { border: 0; background: transparent; text-decoration: underline; cursor: pointer; padding: 8px; }

.remember-card { text-align: left; font: 19px/2 var(--serif); white-space: pre-line; border-left: 1px solid var(--rust); padding-left: 26px; margin: 20px 0 32px; }
.question-title { font: 24px/1.5 var(--serif); margin-bottom: 26px; }
.choice-stack { display: grid; gap: 11px; text-align: left; }
.choice-button { width: 100%; text-align: left; line-height: 1.55; }
.choice-letter { display:inline-grid; place-items:center; width:25px; height:25px; margin-right:10px; border-radius:50%; background:var(--cyan-deep); color:#eef4e2; font:12px var(--mono); }
.progress-dots { display:flex; justify-content:center; gap:7px; margin-top:28px; }
.progress-dots i { width:6px; height:6px; background:#7da7a4; border-radius:50%; }
.progress-dots i.on { background:var(--rust); transform:scale(1.4); }

.shell { min-height: 100vh; display: grid; grid-template-rows: auto 1fr; }
.topbar {
  position: sticky; top: 0; z-index: 40;
  display:flex; align-items:center; gap:18px;
  min-height: 72px; padding: 10px 22px;
  background: rgba(225,237,220,.92);
  border-bottom: 1px solid rgba(51,96,95,.35);
  backdrop-filter: blur(12px);
}
.brand { margin-right:auto; background:transparent; border:0; cursor:pointer; text-align:left; }
.brand strong { display:block; font: 24px/.9 var(--serif); letter-spacing:-.05em; }
.brand small { font:9px var(--mono); letter-spacing:.2em; color:var(--muted); }
.top-actions { display:flex; gap:8px; align-items:center; }
.metric { min-width:76px; font:11px var(--mono); border-left:1px solid rgba(50,90,90,.3); padding-left:10px; }
.metric b { display:block; font-size:16px; color:var(--rust); }

.app-grid { display:grid; grid-template-columns: 250px minmax(0,1fr) 290px; min-height:calc(100vh - 72px); }
.rail { padding:18px; border-right:1px solid rgba(50,90,90,.28); background:rgba(216,232,218,.54); }
.rail-title { font:10px var(--mono); letter-spacing:.18em; color:var(--muted); margin:5px 0 14px; }
.contact { width:100%; display:grid; grid-template-columns:48px 1fr auto; gap:10px; align-items:center; text-align:left; border:0; border-bottom:1px solid rgba(52,93,91,.2); padding:9px 2px; background:transparent; cursor:pointer; }
.contact:hover, .contact.active { background:rgba(245,246,224,.68); }
.contact strong { display:block; font:14px var(--serif); }
.contact small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--muted); font-size:9px; margin-top:4px; }
.online-dot { width:7px; height:7px; border-radius:50%; background:#da785c; box-shadow:0 0 0 3px rgba(218,120,92,.16); }

.avatar { background-repeat:no-repeat; background-size:cover; background-position:center 43%; border:1px solid rgba(240,245,220,.85); box-shadow:inset 0 0 0 1px rgba(49,91,91,.32); }
.avatar.a0 { background-image:url("assets/avatar-prede.png"); }.avatar.a1 { background-image:url("assets/avatar-ivy.png"); }.avatar.a2 { background-image:url("assets/avatar-varis.png"); }.avatar.a3 { background-image:url("assets/avatar-sloth.png"); }.avatar.a4 { background-image:url("assets/avatar-greed.png"); }.avatar.a5 { background-image:url("assets/avatar-grutor.png"); }.avatar.a6 { background-image:url("assets/avatar-rosette.png"); }
.contact .avatar { width:48px; height:58px; border-radius:28px 28px 5px 5px; }

.view { padding: clamp(22px,4vw,58px); min-width:0; position:relative; overflow:hidden; }
.view::before { content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(ellipse at 50% 15%,transparent 0 17%,rgba(239,244,219,.24) 17.3% 18%,transparent 18.3%),
  repeating-linear-gradient(90deg,transparent 0 24.8%,rgba(255,255,240,.18) 25%,transparent 25.2%);
}
.view::after { content:""; position:absolute; inset:32px 4% auto; height:360px; border:1px solid rgba(238,242,215,.35); border-bottom:0; border-radius:48% 48% 0 0 / 28% 28% 0 0; pointer-events:none; opacity:.55; }
.view > * { position:relative; z-index:1; }
.eyebrow { font:10px var(--mono); letter-spacing:.24em; color:var(--rust); text-transform:uppercase; }
.display-title { max-width:900px; margin:10px 0 16px; font:clamp(38px,6vw,86px)/.95 var(--serif); letter-spacing:-.07em; }
.lede { max-width:680px; font:17px/1.8 var(--serif); color:#315356; }

.hero-art { min-height:280px; margin:30px 0; background:url("assets/seven-portraits.png") center/cover no-repeat; border:10px solid rgba(239,241,215,.68); box-shadow:0 20px 70px rgba(26,72,73,.23); position:relative; }
.hero-art::after { content:"坏人也可以申请，我们暂时看不出来。"; position:absolute; right:12px; bottom:12px; padding:8px 12px; background:#edf2df; font:11px var(--mono); }
.identity-slip { display:grid; grid-template-columns:130px 1fr; gap:8px 18px; max-width:700px; padding:14px 18px; border:1px solid rgba(52,91,88,.34); background:rgba(238,242,216,.67); box-shadow:8px 8px 0 rgba(53,103,103,.1); font:12px/1.6 var(--mono); }
.identity-slip b { grid-row:span 2; font:24px var(--serif); }.identity-slip i{color:var(--rust);font-style:normal}
.version-history { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin:24px 0; border:1px solid rgba(48,88,87,.28); background:rgba(239,242,217,.75); }
.version-history div { min-height:130px; padding:16px; border-right:1px solid rgba(48,88,87,.22); }
.version-history b,.version-history span{display:block}.version-history b{font:17px var(--serif);margin-bottom:10px}.version-history span{font:11px/1.65 var(--mono)}
.version-history .infected { color:#7a293b; background:repeating-linear-gradient(-8deg,rgba(225,63,106,.09) 0 8px,transparent 8px 17px); }
.hub-link { position:relative; overflow:visible; }.hub-link::after{content:"成人内容 / 内网";position:absolute;right:-14px;top:-14px;padding:5px 8px;background:var(--pink);color:white;font:9px var(--mono);transform:rotate(4deg)}
.review-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0; }
.review-strip blockquote { margin:0; padding:15px; background:rgba(237,241,218,.66); border-top:2px solid #cfd8c7; font:13px/1.6 var(--serif); }
.terms { font:9px/1.7 var(--mono); color:#557272; opacity:.76; }

.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin:28px 0; }
.person-card { border:1px solid rgba(51,88,88,.25); background:rgba(235,242,221,.74); padding:0; text-align:left; cursor:pointer; overflow:hidden; box-shadow:0 10px 30px rgba(34,77,78,.09); transition:transform .2s; }
.person-card:hover { transform:translateY(-5px); }
.person-card .avatar { width:100%; aspect-ratio:4/3; background-size:cover; background-position:center 32%; filter:saturate(.85) contrast(.98); image-rendering:auto; }
.person-card-body { padding:14px; }
.person-card h3 { margin:0 0 5px; font:22px var(--serif); }
.person-card p { margin:8px 0; font-size:11px; line-height:1.6; color:var(--muted); }
.badge { display:inline-block; border:1px solid currentColor; padding:4px 7px; border-radius:30px; font:9px var(--mono); color:var(--rust); }

.status-panel { position:sticky; top:72px; align-self:start; height:calc(100vh - 72px); overflow:auto; padding:14px; border-left:1px solid rgba(50,90,90,.28); background:rgba(231,238,217,.5); }
.panel-card { margin-bottom:14px; padding:14px; background:rgba(245,246,225,.68); border:1px solid rgba(51,92,91,.22); }
.panel-card h3 { margin:0 0 12px; font:12px var(--mono); letter-spacing:.12em; }
#virtue-canvas { display:block; width:184px; height:184px; max-width:100%; margin:0 auto; }
.inventory-preview { display:grid; grid-template-columns:repeat(3,44px); justify-content:center; gap:7px; }
.item-chip { width:44px; height:44px; display:grid; place-items:center; padding:3px; background:#dce4d4; border:1px solid rgba(52,88,87,.25); font:18px var(--serif); cursor:pointer; }
.item-chip.locked { opacity:.22; filter:grayscale(1); cursor:default; }
.next-hint { font:11px/1.7 var(--mono); color:#5c7774; }

.profile-head { display:grid; grid-template-columns:minmax(180px,280px) 1fr; gap:30px; align-items:end; margin-bottom:28px; }
.profile-head .avatar { width:100%; aspect-ratio:4/5; border-radius:48% 48% 3px 3px; }
.profile-name { margin:0; font:clamp(50px,8vw,100px)/.82 var(--serif); letter-spacing:-.08em; }
.profile-signature { margin:20px 0; max-width:580px; font:17px/1.7 var(--serif); }
.button-row { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }

.chat-stage { max-width:780px; margin:0 auto; padding:22px 0 70px; }
.chat-header { position:relative; z-index:5; display:flex; gap:12px; align-items:center; margin-bottom:10px; padding:12px; background:rgba(233,240,219,.93); border-bottom:1px solid rgba(46,88,86,.25); }
.chat-header .avatar { width:46px; height:54px; border-radius:25px 25px 4px 4px; }
.messages { display:grid; gap:10px; padding:24px 0; }
.chat-evidence{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}.chat-file{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center;min-height:94px;padding:9px;border:1px solid rgba(49,88,86,.3);background:rgba(239,242,220,.85);text-align:left;cursor:pointer;box-shadow:5px 5px 0 rgba(48,88,86,.1)}.chat-file img{width:88px;height:76px;object-fit:cover}.chat-file b,.chat-file small{display:block}.chat-file b{font:13px var(--mono)}.chat-file small{margin-top:7px;color:var(--muted);font:9px/1.5 var(--mono)}.chat-file.log{grid-template-columns:62px 1fr}.file-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #517976;background:#183a39;color:#b6eeb7;font:12px var(--mono)}
.bubble { max-width:78%; padding:12px 15px; background:rgba(245,246,225,.88); border:1px solid rgba(53,91,88,.24); border-radius:3px 18px 18px 18px; font:14px/1.72 var(--serif); white-space:pre-wrap; position:relative; }
.bubble.them::before, .bubble.you::before { content:attr(data-who); display:block; margin-bottom:4px; color:var(--muted); font:9px var(--mono); }
.bubble.you { justify-self:end; background:#b8d3cc; border-radius:18px 3px 18px 18px; }
.bubble.system { max-width:100%; justify-self:stretch; text-align:center; background:transparent; border:0; border-top:1px solid rgba(54,92,88,.2); border-bottom:1px solid rgba(54,92,88,.2); border-radius:0; color:#5e7470; font:10px/1.8 var(--mono); }
.bubble.corrupt { transform:rotate(-.25deg); text-shadow:8px 0 rgba(167,67,78,.14); }
.message-enter { animation:messageEnter .55s both; animation-delay:min(calc(var(--i,0) * 28ms),300ms); }
@keyframes messageEnter { from{opacity:0;transform:translateY(28px);filter:blur(5px)} to{opacity:1;transform:none;filter:none} }
.continue-button { display:block; width:100%; border:0; border-top:1px solid rgba(52,91,89,.28); border-bottom:1px solid rgba(52,91,89,.28); padding:16px; background:rgba(237,242,220,.56); color:#456765; font:11px var(--mono); cursor:pointer; }
.continue-button:hover { background:#f4f3d9; letter-spacing:.06em; }
.unstable-next { animation:nextWorry 1.6s steps(2,end) infinite; }
@keyframes nextWorry { 50%{text-indent:7px;text-shadow:-12px 0 rgba(155,47,59,.3)} }
.stage-choice small { display:block; margin:8px 0 0 36px; color:var(--rust); font:10px var(--mono); }
.score-burst { position:fixed; z-index:2100; right:clamp(18px,6vw,90px); top:95px; display:grid; gap:5px; pointer-events:none; }
.score-burst b { padding:9px 13px; background:#f5f1d6; border:1px solid #597c78; color:#315d5c; font:14px var(--serif); box-shadow:6px 6px 0 rgba(64,104,101,.22); animation:scoreFly 1.8s both; }
.score-burst em { margin-left:14px; color:var(--rust); font:normal 16px var(--mono); }
@keyframes scoreFly { 0%{opacity:0;transform:translateY(50px) scale(.7)} 18%,72%{opacity:1;transform:none} 100%{opacity:0;transform:translateY(-55px) rotate(-3deg)} }
.loop-messages { perspective:600px; }
.loop-line { padding:13px 14px; border-bottom:1px solid rgba(61,94,92,.22); color:#496d69; font:12px/1.7 var(--mono); transform-origin:center top; animation:loopDrop .8s both,loopSick 4s 1s infinite; }
.loop-line span { display:inline-block; min-width:88px; color:var(--rust); }
.loop-line:nth-child(3n) { margin-left:4vw; transform:rotate(.25deg); }
.loop-line:nth-child(4n) { margin-right:7vw; text-align:right; }
@keyframes loopDrop { from{opacity:0;transform:translateY(-55px) rotateX(70deg)} to{opacity:1;transform:none} }
@keyframes loopSick { 48%{letter-spacing:0} 50%{letter-spacing:.035em;text-shadow:10px 0 rgba(180,57,73,.2)} 52%{letter-spacing:0} }
.evidence-puzzle,.ownership-sort,.quote-audit { margin:22px 0; padding:clamp(18px,4vw,34px); background:rgba(242,244,220,.76); border:1px solid rgba(48,88,86,.28); box-shadow:10px 12px 0 rgba(63,103,100,.1); }
.evidence-puzzle>p { font:20px/1.6 var(--serif); }
.ownership-sort { text-align:center; }
.owned-object { margin:12px auto 24px; width:min(280px,90%); padding:30px; border:2px solid #486d69; background:#f6f3d8; font:26px var(--serif); animation:itemHover 2.8s ease-in-out infinite; }
@keyframes itemHover { 50%{transform:translateY(-7px) rotate(.4deg);box-shadow:0 15px 24px rgba(40,75,73,.18)} }
.ownership-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ownership-columns button { min-height:90px; border:1px dashed #4e7470; background:#dce8d8; font:16px var(--serif); cursor:pointer; }
.quote-audit { display:grid; gap:8px; }
.quote-line { padding:13px; border:1px solid rgba(57,85,87,.25); background:#f5efcf; text-align:left; color:#374f50; font:14px/1.5 var(--serif); cursor:pointer; }
.quote-line.selected { color:#fff; background:#a82058; box-shadow:inset 8px 0 #ff70ad; transform:translateX(8px); }
.transcript { white-space:pre-wrap; font:14px/1.9 var(--serif); padding:22px; background:rgba(244,245,224,.74); border:1px solid rgba(49,88,87,.22); }

.blog { min-height:70vh; padding:clamp(24px,5vw,66px); background:var(--blog-bg,#eeeada); color:var(--blog-ink,#2c2b27); border:12px solid var(--blog-accent,#b99c60); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.blog::before { content:""; position:absolute; inset:15px; border:1px solid currentColor; opacity:.2; pointer-events:none; }
.blog h1 { position:relative; max-width:800px; margin:0 0 35px; font:clamp(38px,7vw,88px)/.95 var(--serif); letter-spacing:-.06em; }
.blog-body { position:relative; max-width:760px; font:16px/1.9 var(--serif); white-space:pre-wrap; }
.blog-paragraphs { display:grid; gap:1px; }
.blog-line { margin:0; padding:10px 0; border-bottom:1px solid currentColor; border-bottom-color:color-mix(in srgb,currentColor 18%,transparent); animation:messageEnter .45s both; animation-delay:min(calc(var(--i) * 35ms),600ms); }
.blog-prede { --blog-bg:#f1ead9; --blog-ink:#27231f; --blog-accent:#bb9a54; }
.blog-ivy { --blog-bg:#beff35; --blog-ink:#8d154f; --blog-accent:#ff66b2; }
.blog-varis { --blog-bg:#b9362f; --blog-ink:#1a1615; --blog-accent:#281817; }
.blog-sloth { --blog-bg:#dfe9e9; --blog-ink:#7b8584; --blog-accent:#bccdce; }
.blog-greed { --blog-bg:#9dea21; --blog-ink:#111b11; --blog-accent:#1e3219; }
.blog-grutor { --blog-bg:#ffc896; --blog-ink:#654029; --blog-accent:#49896b; }
.blog-rosette { --blog-bg:#ff5ba6; --blog-ink:#1632aa; --blog-accent:#63e8e0; }
.apology-table { position:relative; display:grid; gap:8px; padding:25px; background:#fffdf4; border:1px solid #9a7a43; transform:translateY(calc(var(--rise) * -3px)); box-shadow:0 calc(var(--rise) * 4px) 0 #cbb98c,0 calc(var(--rise) * 8px) 0 #ad9567; transition:.35s; }
.apology-phrase { padding:11px; border:1px solid #ac9363; background:#f1e6cc; text-align:left; font:14px var(--serif); cursor:pointer; }
.apology-phrase.removed { opacity:.38; text-decoration:line-through; transform:scaleY(.78); }
.apology-minimum { display:grid; gap:4px; margin-top:15px; padding:15px; border-left:4px solid #715328; }
.permission-window { max-width:560px; padding:18px; background:#f8f8f5; border:2px outset #ccc; color:#191919; box-shadow:12px 12px 0 #ff66b2; font-family:var(--sans); }
.permission-window>b { display:block; margin-bottom:12px; }
.permission-row { width:100%; display:grid; grid-template-columns:30px 1fr auto; gap:8px; padding:11px; border:0; border-top:1px solid #ccc; background:#fff; text-align:left; cursor:pointer; }
.permission-row.selected { background:#d7ff79; }.permission-row i{font-size:20px}.permission-row small{opacity:.6}.permission-row.haunted{color:#8d154f;background:#ddd;cursor:not-allowed;filter:blur(.2px)}
.subject-gym { display:grid; gap:18px; }
.barbell { display:grid; grid-template-columns:60px 1fr 1fr 60px; gap:8px; align-items:center; padding:18px 8px; border:4px solid #211; background:#e44d42; color:#1a1111; cursor:pointer; }
.barbell>span { display:grid; place-items:center; aspect-ratio:1; border-radius:50%; background:#211; color:#e44d42; font-weight:bold; }
.barbell b { font-weight:500; }.barbell.lifted{transform:translateY(-7px);box-shadow:0 12px 0 #211}.barbell.lifted s{opacity:.35}
.no-update { min-height:430px; display:flex; flex-direction:column; align-items:center; gap:30px; padding:30px; color:#7b8584; }
.no-update p { animation:messageEnter .8s both; font-size:22px; }.no-update button{margin-top:auto;border:0;background:transparent;color:#9ba6a5;text-decoration:underline;cursor:pointer}.no-update i{margin-top:auto}
.auction-lot { display:grid; gap:12px; padding:24px; color:#111b11; background:#d8ff72; border:5px double #1e3219; box-shadow:10px 10px 0 #1e3219; }
.auction-lot button { padding:12px; color:#9dea21; background:#1e3219; border:0; cursor:pointer; font-family:var(--mono); }.auction-lot button:hover{transform:translateX(7px)}
.bid-result { padding:15px; background:#111b11; color:#9dea21; font-family:var(--mono); }.auction-lot i{padding:12px;background:#ffeb38;color:#111b11}
.medical-record{display:grid;gap:16px;width:min(820px,100%);padding:14px;background:#d9c8ac;border:1px solid #806f5d;box-shadow:10px 12px 0 rgba(87,63,43,.25)}.medical-record-file{display:grid;grid-template-columns:minmax(0,1fr);padding:0;border:1px solid #665c50;background:#161616;color:#f3eadc;text-align:left;cursor:zoom-in;box-shadow:0 5px 18px rgba(38,24,16,.35)}.medical-record-file img{display:block;width:100%;max-height:570px;object-fit:cover;object-position:center;filter:saturate(.86) contrast(1.03)}.medical-record-file span{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;font-family:var(--mono)}.medical-record-file b{font-size:11px}.medical-record-file small{font-size:8px;color:#c5bbae}.medical-record-note{padding:18px 20px;background:#efecdf;border:1px solid #9f988a;color:#2f3433;font:13px/1.8 var(--serif)}.medical-record-note>b{font:700 18px var(--serif)}.medical-record-note p{margin:8px 0 15px}.medical-record-note dl{display:grid;gap:0;margin:0;border-top:1px solid #a5a396}.medical-record-note dl div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #a5a396}.medical-record-note dt,.medical-record-note dd{margin:0;padding:8px}.medical-record-note dt{font-weight:bold;border-right:1px solid #a5a396}
.survey-note { display:inline-block; padding:8px 12px; background:#63e8e0; box-shadow:5px 5px 0 #1632aa; font-family:var(--mono); }
.preference-survey { display:grid; gap:16px; }
.preference-survey fieldset { border:3px solid #1632aa; padding:18px; background:rgba(255,245,214,.9); box-shadow:7px 7px 0 #63e8e0; }
.preference-survey legend { padding:0 8px; font:18px/1.4 var(--serif); }
.survey-choice { margin:5px; padding:10px 13px; border:2px solid #1632aa; background:#ffdf36; color:#1632aa; font:12px var(--mono); cursor:pointer; }
.survey-choice.selected { color:#fff; background:#1632aa; box-shadow:4px 4px 0 #ff5ba6; transform:translateY(-2px); }
.system-question { transform:rotate(-.5deg); }
.consent-reply { margin:24px 0; padding:18px; background:#1632aa; color:#fff; font-size:20px; box-shadow:9px 9px 0 #ffdf36; }
.guestbook { position:relative; z-index:2; width:min(760px,100%); margin:52px 0 0; border:4px double #253b72; background:#f2e7c5; color:#202f5c; box-shadow:9px 9px 0 rgba(26,35,74,.18); font-family:var(--sans); }
.guestbook>header { display:flex; justify-content:space-between; gap:16px; padding:13px 15px; color:#f5eac8; background:#253b72; font:11px/1.5 var(--mono); }
.guestbook>header b,.guestbook>header small{display:block}.guestbook>header small{opacity:.7}.guestbook>header span{white-space:nowrap;color:#ffcf5c}
.guest-entry { display:grid; grid-template-columns:44px 1fr; gap:12px; padding:14px 15px; border-top:1px dotted #6f78a0; background:linear-gradient(90deg,rgba(255,255,255,.22),transparent); }
.guest-entry:nth-child(even){background:rgba(82,102,152,.08)}
.guest-avatar { width:40px; height:46px; border:2px solid #fff4cb; outline:1px solid #253b72; background:#8290ad; background-size:cover; background-position:center 35%; image-rendering:pixelated; }
.guest-holly{background:linear-gradient(135deg,#e7a7b7 0 50%,#48694f 50%);position:relative}.guest-holly::after{content:"H";display:grid;place-items:center;height:100%;color:#fff;font:bold 16px var(--mono)}
.guest-yisan{background:repeating-linear-gradient(45deg,#d59d1e 0 5px,#fff0a8 5px 10px);position:relative}.guest-yisan::after{content:"13";display:grid;place-items:center;height:100%;color:#6a3500;font:bold 13px var(--mono)}
.guest-anon{background:#7b85a1;position:relative}.guest-anon::after{content:"?";display:grid;place-items:center;height:100%;color:#f4e8c1;font:bold 20px var(--mono)}
.guest-clinic{background:#e8eeea;position:relative}.guest-clinic::after{content:"Rx";display:grid;place-items:center;height:100%;color:#45675f;font:bold 15px Georgia,serif}
.guest-meta { display:flex; justify-content:space-between; gap:12px; font:10px var(--mono); }.guest-meta span{opacity:.58}.guest-entry p{margin:8px 0;font:14px/1.7 var(--serif)}
.guest-like { border:1px solid #8f98b8; padding:4px 8px; background:#fff7db; color:#485584; font:9px var(--mono); cursor:pointer; box-shadow:2px 2px 0 rgba(30,45,91,.18); }.guest-like.liked{color:#fff;background:#a51f52;border-color:#6f1538}
.guestbook-compose { display:grid; grid-template-columns:150px 1fr auto; gap:5px; padding:10px; border-top:3px double #253b72; background:#d2c59f; }.guestbook-compose input,.guestbook-compose button{min-width:0;padding:7px;border:1px inset #8c846e;background:#f7edce;color:#536080;font:9px var(--mono)}

.pixel-icon { position:relative; display:inline-block; flex:none; width:28px; height:28px; border:2px solid #173638; background:#dfe8d5; box-shadow:3px 3px 0 rgba(23,54,56,.22); vertical-align:middle; image-rendering:pixelated; }
.pixel-icon i,.pixel-icon::before,.pixel-icon::after{content:"";position:absolute;display:block;image-rendering:pixelated}
.pixel-icon.p1{background:#f6d67a}.pixel-icon.p2{background:#c7d4e7}.pixel-icon.p3{background:#d8b6c3}
.pi-paper i{left:6px;top:4px;width:12px;height:16px;background:#fff3b7;border:2px solid #173638}.pi-paper::after{left:9px;top:10px;width:8px;height:2px;background:#9a4f42;box-shadow:0 4px #356f72}
.pi-pill i{left:5px;top:10px;width:16px;height:7px;background:linear-gradient(90deg,#e45f62 0 50%,#f5e7be 50%);border:2px solid #173638;transform:rotate(-45deg)}
.pi-ring i{left:6px;top:7px;width:12px;height:12px;border:4px solid #bd8c20;background:transparent}.pi-ring::after{left:10px;top:2px;width:6px;height:6px;background:#dff9ff;border:2px solid #173638}
.pi-drive i{left:5px;top:7px;width:16px;height:14px;background:#5f8e87;border:2px solid #173638}.pi-drive::after{left:9px;top:3px;width:8px;height:6px;background:#dfdfcf;border:2px solid #173638}
.pi-book i{left:4px;top:5px;width:18px;height:17px;background:linear-gradient(90deg,#e7c96c 0 47%,#173638 47% 54%,#f1dda1 54%);border:2px solid #173638}.pi-book::after{left:8px;top:10px;width:4px;height:2px;background:#9a4f42;box-shadow:9px 0 #9a4f42,0 4px #356f72,9px 4px #356f72}
.pi-tape i{left:4px;top:7px;width:18px;height:14px;background:#344f50;border:2px solid #173638}.pi-tape::after{left:8px;top:11px;width:4px;height:4px;background:#e8d88f;box-shadow:8px 0 #e8d88f,4px 5px #9a4f42}
.pi-door i{left:7px;top:3px;width:13px;height:21px;background:#6b4737;border:2px solid #173638}.pi-door::after{right:8px;top:13px;width:3px;height:3px;background:#f2d368}
.pi-evidence i{left:4px;top:7px;width:18px;height:15px;background:#d2b276;border:2px solid #173638}.pi-evidence::before{left:8px;top:4px;width:10px;height:5px;background:#9a4f42;border:2px solid #173638}.pi-evidence::after{left:8px;top:12px;width:10px;height:2px;background:#173638;box-shadow:0 4px #173638}

.inventory-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px; margin:26px 0; }
.inventory-card { display:grid; grid-template-columns:52px 1fr; gap:14px; min-height:145px; padding:16px; border:1px solid rgba(51,88,88,.3); background:rgba(235,242,221,.78); text-align:left; cursor:pointer; box-shadow:6px 6px 0 rgba(34,77,78,.1); }.inventory-card>.pixel-icon{width:44px;height:44px;transform:scale(1.15);transform-origin:top left}.inventory-card h3{margin:9px 0 5px;font:20px var(--serif)}.inventory-card p{margin:0;font:11px/1.65 var(--mono);color:var(--muted)}.inventory-card.locked{opacity:.42;filter:grayscale(1);cursor:default}
.permanent-ad { padding:18px; background:repeating-linear-gradient(-45deg,#ff54a6 0 14px,#ffdf36 14px 28px); border:6px double #1632aa; text-align:center; }
.ad-kicker { display:inline-block; padding:7px 12px; background:#1632aa; color:#fff; font:11px var(--mono); transform:rotate(-2deg); }
.permanent-button { margin:30px auto; display:block; padding:20px 30px; border:4px outset #ffd5ee; border-radius:50%; background:#ff35a0; color:white; font:900 22px var(--sans); box-shadow:0 0 0 8px #63e8e0,10px 12px 0 #1632aa; cursor:pointer; animation:permanentPulse .9s infinite alternate; }
@keyframes permanentPulse { to{transform:scale(1.07) rotate(1deg)} }
.not-found { margin:30px -18px; padding:30px; background:#f4e9c8; color:#1632aa; transform:rotate(.6deg); }
.not-found b { display:block; font:900 clamp(38px,8vw,80px)/.9 Arial Black,sans-serif; letter-spacing:-.07em; }
.rosette-copy { padding:20px; background:#ff76b5; text-align:left; }
.rosette-copy blockquote { background:#f7e9c6; padding:14px; border-left:8px solid #1632aa; }
.rejected-edit { display:block; position:absolute; right:10px; top:10px; width:220px; padding:8px; background:#e9007c; color:#fff; font:10px var(--mono); transform:rotate(3deg); }

.archive-list, .case-list { display:grid; gap:10px; margin-top:24px; }
.archive-row, .case-row { display:grid; grid-template-columns:74px 1fr auto; gap:15px; align-items:center; width:100%; padding:15px; border:1px solid rgba(52,91,89,.24); background:rgba(239,243,221,.68); text-align:left; cursor:pointer; }
.archive-row:hover, .case-row:hover { background:#f5f3d9; }
.archive-row b, .case-row b { font:13px var(--mono); color:var(--rust); }
.archive-row strong, .case-row strong { font:18px var(--serif); }
.archive-reader { max-width:880px; margin:auto; }
.archive-reader pre { white-space:pre-wrap; word-break:break-word; font:14px/1.9 var(--serif); background:rgba(248,247,228,.82); padding:clamp(20px,4vw,52px); border:1px solid rgba(45,84,82,.24); }
.case-reader { max-width:880px; margin:auto; }
.case-reader-title{max-width:760px!important;margin:14px auto 22px!important;text-align:center;font-size:clamp(32px,4.4vw,54px)!important;line-height:1.08!important;letter-spacing:-.045em!important}
.case-tabs { display:flex; gap:8px; margin:18px 0; }
.case-tabs .active { background:#315f60;color:#eef1dd;box-shadow:3px 3px 0 var(--rust) }
.case-board { display:grid; gap:18px; }
.case-media-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin:18px 0 24px; }
.case-media { position:relative; min-height:250px; padding:0; overflow:hidden; border:1px solid rgba(42,80,79,.38); background:#edf0dc; text-align:left; cursor:pointer; box-shadow:9px 9px 0 rgba(43,81,79,.12); }
.case-media img { width:100%; height:230px; display:block; object-fit:cover; filter:saturate(.78) contrast(1.02); transition:.35s; }.case-media:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.05)}
.case-media span{display:block;padding:14px 16px}.case-media b,.case-media small{display:block}.case-media b{font:18px var(--serif)}.case-media small{margin-top:6px;font:10px/1.6 var(--mono);color:var(--muted)}.case-media i{position:absolute;right:9px;top:9px;padding:6px 8px;background:#f3f0d7;color:var(--rust);font:9px var(--mono);font-style:normal}
.case-brief { padding:22px; background:rgba(241,242,216,.87); border-left:7px solid var(--rust); box-shadow:var(--shadow); }
.case-brief b { font:11px var(--mono);letter-spacing:.2em }.case-brief p{font:22px/1.55 var(--serif)}.case-brief small{font:10px/1.6 var(--mono);color:var(--muted)}
.evidence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.evidence { min-height:150px; display:flex; flex-direction:column; gap:13px; padding:18px; border:1px solid rgba(42,80,79,.35); background:rgba(223,231,210,.66); text-align:left; cursor:pointer; box-shadow:6px 6px 0 rgba(43,81,79,.09); }
.evidence b{font:11px var(--mono);color:var(--rust)}.evidence span{font:13px/1.7 var(--serif);color:var(--muted)}
.evidence.open{background:#f4f1d8;transform:rotate(var(--r,-.25deg))}.evidence.open span{color:var(--ink)}
.deduction { padding:24px; background:rgba(145,191,188,.38); border:1px solid rgba(47,90,88,.3); }.deduction h2{font:28px var(--serif)}
.choice-button.correct{background:#cbeaab;border-color:#3c753a}.choice-button.wrong{background:#efd0c7;border-color:#98493c}.case-verdict{padding:12px;font:12px var(--mono)}.case-verdict.ok{color:#356c3c}.case-verdict.bad{color:#944033}
.gold-novel { padding:clamp(25px,6vw,64px); background:#fff1b0; color:#633700; border:8px ridge #d99b12; box-shadow:12px 12px 0 #e84635; font-family:"Comic Sans MS",var(--sans); }
.gold-ribbon{display:inline-block;padding:6px 10px;background:#e3312c;color:#fff;font:11px var(--mono);transform:rotate(-2deg)}.gold-novel h2{font:clamp(38px,7vw,72px)/1 var(--serif);margin:20px 0}.gold-prose{font:24px/1.7 var(--serif)}
.gold-manuscript { margin:28px 0; padding:clamp(22px,5vw,58px); white-space:pre-wrap; background:rgba(255,252,222,.82); border:1px solid rgba(135,86,18,.35); box-shadow:inset 0 0 60px rgba(210,144,29,.09); font:18px/2.05 var(--serif); text-align:justify; }
.gold-manuscript::first-line{font-size:1.35em;color:#9a3b22}.gold-margin-note{margin:24px -12px;padding:18px 24px;border-left:5px solid #bd5072;background:#fff9ed;color:#824357;font:15px/1.7 var(--serif);transform:rotate(-.35deg)}
.gold-next{display:block;width:100%;margin-top:28px;padding:18px;border:4px outset #f7cf4a;background:#168bd5;color:#fff;font:700 18px "Comic Sans MS",var(--sans);cursor:pointer;box-shadow:8px 8px 0 #e33a2f}
.editor-note { margin-top:22px; padding:17px; border:2px dashed #b84c68; background:#fff8e7; color:#754052; transform:rotate(-.35deg); font:14px/1.8 var(--serif); }
.archive-fragments { display:grid;gap:9px;margin-top:24px}.archive-fragment{display:grid;grid-template-columns:80px 1fr;gap:14px;width:100%;padding:16px;border:1px solid rgba(43,82,80,.25);background:rgba(237,241,217,.72);text-align:left;cursor:pointer}.archive-fragment b{font:10px var(--mono);color:var(--rust)}.archive-fragment span{white-space:pre-wrap;font:13px/1.8 var(--serif)}.archive-fragment.open{background:#f5f2d9;box-shadow:6px 6px 0 rgba(47,85,83,.1)}
.case-copy { white-space:pre-wrap; font:15px/2 var(--serif); padding:clamp(20px,5vw,56px); background:#f3f0dc; border:1px solid rgba(50,87,84,.28); box-shadow:var(--shadow); }
.case-copy.polluted { line-height:2.15; background:#f7f3d4; text-shadow:12px 0 rgba(230,40,116,.11); }
.annotation { display:block; margin:22px -10px; padding:10px 14px; background:linear-gradient(transparent 16%,rgba(151,255,51,.54) 16% 85%,transparent 85%); color:#184c30; transform:rotate(-.4deg); }
.ad-warning-case { min-height:580px; border:9px solid #263432; background:#0e1614; color:#d8e5bc; box-shadow:16px 16px 0 #9a4f42; font-family:var(--mono); overflow:hidden; }
.ad-screen-head { display:flex; justify-content:space-between; gap:12px; padding:10px 14px; border-bottom:1px solid #77947d; background:#192521; color:#a8caa6; font:10px var(--mono); }
.ad-dialog { width:min(610px,88%); margin:70px auto; padding:34px; border:3px outset #b7bcae; background:#dedfce; color:#15211f; box-shadow:11px 11px 0 #000; text-align:left; }
.ad-dialog>b{font:700 36px/1 var(--serif)}.ad-dialog p{font:18px/1.8 var(--serif)}.ad-dialog button,.ad-player button{padding:10px 17px;border:2px outset #d8d9cf;background:#e8e5d7;color:#17201f;cursor:pointer;font:12px var(--mono)}
.ad-dialog.stuck{animation:adStuck .18s steps(2,end) infinite}.fake-progress{height:16px;margin:22px 0;border:2px inset #aaa;background:#fff}.fake-progress i{display:block;width:100%;height:100%;background:repeating-linear-gradient(90deg,#9a4f42 0 8px,#d8e5bc 8px 12px)}
.ad-dialog.name-load{text-align:center}.ad-dialog.name-load strong{display:block;margin:40px 0;font:700 clamp(58px,12vw,120px)/1 var(--serif);letter-spacing:.4em;text-indent:.4em;text-shadow:11px 0 rgba(154,79,66,.24)}
@keyframes adStuck{50%{transform:translateX(1px);filter:contrast(1.1)}}
.ad-player { width:min(700px,94%); margin:38px auto; border:2px solid #77947d; background:#030504; box-shadow:0 0 70px rgba(159,194,142,.14); }
.ad-frame { position:relative; min-height:390px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; background:radial-gradient(circle at 45% 40%,#7e3b48 0 8%,transparent 9%),linear-gradient(127deg,#17261f,#596d4d 49%,#101613 50%); color:#e1e7c2; overflow:hidden; }
.ad-frame::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.26) 3px 4px);pointer-events:none}.ad-frame span,.ad-frame b,.ad-frame i{position:relative;z-index:1}.ad-frame span{font:10px var(--mono)}.ad-frame b{font:50px var(--mono)}.ad-frame i{align-self:end;font:italic 23px/1.5 var(--serif);text-align:right}
.ad-controls{display:flex;align-items:center;gap:20px;padding:10px;background:#17211e;font:10px var(--mono)}.ad-frame.watched{justify-content:center;gap:30px;text-align:center;background:radial-gradient(circle,#6f1b26 0 3%,#0b0d0c 4% 14%,#39433b 15%,#090b0a 55%)}.ad-frame.watched b{font:28px var(--serif)}.ad-frame.watched i{align-self:center;color:#ff6f73;font:60px var(--serif)}
.ad-warning-copy{padding:14px;background:#a2182c;color:#fff;text-align:center;animation:warningBlink .7s steps(2,end) infinite}.ad-player.playing>p{padding:0 18px}.ad-report{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px}.ad-report button{min-height:70px}
@keyframes warningBlink{50%{background:#e8e3c9;color:#a2182c}}
.ad-receipt{width:min(680px,92%);margin:40px auto;padding:30px;border:1px dashed #bfcd9e;background:#15211d;font:14px/1.8 var(--mono)}.receipt-stamp{display:inline-block;padding:8px 13px;border:4px double #e45055;color:#e45055;transform:rotate(-3deg);font-weight:bold}.pixel-forensics{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:28px 0}.pixel-forensics i{display:grid;place-items:center;aspect-ratio:1;border:2px solid #7fa382;background:#24332d;color:#ee6b70;font-style:normal;animation:pixelLeak .8s steps(2,end) both;animation-delay:calc(var(--i)*.14s)}
@keyframes pixelLeak{from{color:transparent;transform:translateY(-10px)}to{color:#ee6b70;transform:none}}
.overwrite { background:linear-gradient(transparent 15%,rgba(255,58,154,.42) 15% 86%,transparent 86%); color:#6e1446; transform:translateX(10px) rotate(.5deg); }
.locked-note { padding:32px; border:1px dashed currentColor; text-align:center; font:13px/1.8 var(--mono); }

.hub-shell { min-height:100vh; padding:18px; color:#101cc8; background:
  radial-gradient(circle at 15% 20%,#fff7d9 0 5%,transparent 5.5%),
  radial-gradient(circle at 75% 10%,#fff7d9 0 7%,transparent 7.5%),
  repeating-conic-gradient(from 45deg,#fff5d1 0 25%,#1320dc 0 50%) 0 0/38px 38px;
}
.hub-window { max-width:1500px; margin:auto; border:4px solid #f6e6be; outline:3px solid #161cae; background:#141ee5; box-shadow:12px 12px 0 #ff4d9e; }
.fake-browser { background:#f4e8c6; border-bottom:4px solid #161cae; color:#1e235f; font:12px var(--mono); }
.fake-menu { display:flex; gap:18px; padding:6px 10px; border-bottom:1px solid #867d67; }
.address-row { display:flex; align-items:center; gap:8px; padding:8px; }
.address { flex:1; background:#fff8e6; border:2px inset #c3baa2; padding:8px; }
.eye-lock { font-size:20px; }
.hub-inner { padding:18px; background:
  radial-gradient(circle at 85% 15%,rgba(255,255,255,.9) 0 6%,transparent 6.5%),
  linear-gradient(#1726ed,#1720d5); }
.hub-logo { margin:10px 0 0; font:900 clamp(64px,12vw,170px)/.75 Arial Black,sans-serif; letter-spacing:-.1em; filter:drop-shadow(7px 7px 0 #0d0b64); }
.hub-logo .hub { color:#1425ce; background:#ffe334; padding:0 .08em; transform:rotate(-2deg); display:inline-block; }
.hub-logo .porn { color:#fff5d7; background:#f14691; padding:0 .08em; transform:rotate(2deg); display:inline-block; }
.hub-tagline { display:inline-block; background:#fff3cf; padding:10px 18px; color:#1827c7; font:14px var(--mono); box-shadow:6px 6px 0 #ff55a5; margin:15px 0; }
.hub-search { display:flex; margin:18px 0; }
.hub-search input { flex:1; padding:14px; border:0; background:#fff7db; color:#131ac5; }
.hub-search button { border:0; background:#ffe13b; padding:0 22px; font-weight:bold; }
.hub-tools { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin:20px 0; }
.hub-widget { min-height:110px; padding:13px; background:#f5e8c5; border:4px solid #ff4d9e; color:#171d9b; box-shadow:5px 5px 0 #0b0a65; font:12px/1.5 var(--mono); }
.smiles { display:flex; gap:10px; font-size:30px; margin-top:12px; }
.sticker { transform:rotate(-3deg); background:#ff4e9e; color:#0d167d; font-weight:bold; }
.hub-categories { display:flex; gap:8px; overflow:auto; padding:12px 0; scrollbar-color:#ff4c9e #fff0c9; }
.hub-categories button { white-space:nowrap; border:2px solid #ffe33e; color:#fff4d7; background:#1420b6; padding:8px 12px; cursor:pointer; }
.hub-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:13px; }
.hub-card { min-height:190px; display:flex; flex-direction:column; justify-content:space-between; border:0; padding:15px; text-align:left; cursor:pointer; color:#13166f; background:#ffe13a; box-shadow:7px 7px 0 #ff4c9a; transform:rotate(var(--tilt,0deg)); }
.hub-card:nth-child(3n) { background:#ff55a5; color:#fff2cd; --tilt:1deg; }
.hub-card:nth-child(3n+2) { background:#56e5d9; --tilt:-1deg; }
.hub-card:hover { transform:translateY(-5px) rotate(0); }
.hub-card b { font:900 21px/1.2 var(--sans); }
.hub-card > span { display:block; margin:12px 0; padding-top:8px; border-top:2px solid currentColor; font:11px/1.5 var(--mono); }
.hub-card small { font:10px/1.5 var(--mono); }
.hub-card.yisan-upload { outline:4px solid #ffef35; background:#ff4e9d; color:#fff4cf; box-shadow:7px 7px 0 #071bb7,11px 11px 0 #ffef35; }
.hub-card.yisan-upload::before { content:"纯爱 / YISAN"; align-self:flex-start; margin:-6px 0 8px; padding:4px 7px; background:#101db7; color:#ffed38; font:9px var(--mono); transform:rotate(-2deg); }
.hub-footer { margin:28px 0 10px; padding:18px; background:#fff0cf; text-align:center; font:12px var(--mono); }

.age-gate, .fake-load { text-align:center; }
.fake-load .address { text-align:left; margin:15px 0; }
.loading-bar { height:24px; border:2px solid #141d9f; background:#fff4d4; margin:16px 0; overflow:hidden; }
.loading-bar i { display:block; height:100%; width:99%; background:repeating-linear-gradient(90deg,#ff4d9e 0 10px,#ffe13a 10px 20px); animation:load99 2.8s both; }
@keyframes load99 { from{width:0} 85%{width:99%} to{width:100%} }

.death { position:fixed; inset:0; z-index:2000; display:grid; place-items:center; overflow:hidden; background:#000; color:#fff; font-family:var(--mono); }
.death-inner { position:relative; z-index:3; width:min(840px,92vw); max-height:96vh; overflow:auto; text-align:center; scrollbar-width:none; }
.scan-damage { position:absolute; inset:0; z-index:5; pointer-events:none; opacity:.16; background:repeating-linear-gradient(0deg,transparent 0 2px,#fff 3px,transparent 4px); mix-blend-mode:screen; animation:scanFall 8s linear infinite; }
@keyframes scanFall { to{transform:translateY(40px)} }
.skull-sequence{position:fixed;inset:0;z-index:7;pointer-events:none;background:#000;animation:skullSequenceGone .01s 4s forwards}.skull-giant{position:absolute;inset:-18%;width:136%;height:136%;object-fit:contain;filter:grayscale(1) contrast(1.55);animation:skullGiantFlash 2s steps(1,end) both}.skull-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(6,1fr);gap:1.3vw;padding:2vw;opacity:0;animation:skullGridFlash 2s 2s steps(1,end) both}.skull-grid img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.45)}
@keyframes skullSequenceGone{to{visibility:hidden}}
@keyframes skullGiantFlash{0%,20%,42%,65%,86%{opacity:1;filter:grayscale(1) contrast(1.7) invert(0)}10%,31%,54%,76%,100%{opacity:0;filter:grayscale(1) contrast(2) invert(1)}}
@keyframes skullGridFlash{0%,22%,45%,68%,88%{opacity:1;filter:invert(0)}11%,34%,56%,78%,100%{opacity:0;filter:invert(1)}}
.skull-stage { position:relative; width:min(310px,46vw); height:min(310px,46vw); margin:0 auto -5px; }
.death-skull { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; filter:grayscale(.8) contrast(1.35) drop-shadow(0 0 18px rgba(255,255,255,.14)); animation:skullFinalIn .08s 4s steps(1,end) forwards,skullTwitch 4.7s 4s steps(1,end) infinite; }
@keyframes skullFinalIn{to{opacity:1}}
@keyframes skullTwitch { 33%{margin-left:0} 34%{margin-left:-5px} 35%{margin-left:3px} 36%{margin-left:0} }
.death-progress { margin:25px 0; line-height:2; opacity:0; animation:reveal .7s 4.35s forwards; }
.death-words { min-height:70px; display:flex; justify-content:center; align-items:center; gap:clamp(18px,5vw,70px); font-size:clamp(22px,4vw,38px); }
.death-token { display:inline-block; animation:deathWordIn .7s cubic-bezier(.2,.9,.2,1.4) both,deathWordDrift 3s 1s ease-in-out infinite alternate; }
.death-token:nth-child(2n){transform:translateY(8px) rotate(2deg)}
@keyframes deathWordIn { from{opacity:0;transform:scale(8);filter:blur(10px)} to{opacity:1;transform:none;filter:none} }
@keyframes deathWordDrift { to{transform:translateY(-7px) rotate(-2deg)} }
.ta-swarm { position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0; animation:reveal .1s 4s forwards; }
.ta-jumper { position:absolute; left:8%; top:12%; color:#ff061d; font:900 calc(34px * var(--s)) var(--serif); font-style:normal; text-shadow:0 0 10px #ff001a,3px 3px #61000b; animation:taJump var(--d) var(--delay) steps(1,end) infinite; opacity:.85; }
.ta-jumper.t1{left:79%;top:18%}.ta-jumper.t2{left:18%;top:76%}.ta-jumper.t3{left:83%;top:71%}.ta-jumper.t4{left:48%;top:20%}.ta-jumper.t5{left:65%;top:49%}
@keyframes taJump { 0%{left:8%;top:12%;transform:rotate(-12deg) scale(.7)} 18%{left:77%;top:17%;transform:rotate(8deg) scale(1.15)} 36%{left:35%;top:61%;transform:rotate(-5deg) scale(.9)} 48%{left:61%;top:72%;transform:rotate(2deg) scale(1.7)} 58%{left:52%;top:81%;transform:rotate(-3deg) scale(1.15)} 75%{left:86%;top:46%;transform:rotate(14deg) scale(.65)} 90%{left:14%;top:81%;transform:rotate(-9deg) scale(1.25)} }
@keyframes reveal { to{opacity:1} }
.black-chat { background:#0a0a0a; border:1px solid #666; padding:20px; text-align:left; margin-top:18px; }
.black-chat .choice-button { color:#fff; background:#111; border-color:#888; box-shadow:4px 4px 0 #444; margin-top:8px; }
.death-dialogue { animation:messageEnter .8s both; }
.death-notification { position:fixed; right:24px; bottom:24px; z-index:8; width:104px; padding:8px; border:1px solid #9d9d9d; background:#070707; color:#fff; box-shadow:0 0 0 1px #222,0 14px 50px #000; cursor:pointer; animation:notificationHop 1.3s cubic-bezier(.2,.8,.2,1) infinite; }
.death-notification .avatar{display:block;width:64px;height:72px;margin:auto;border-radius:44% 44% 4px 4px}.death-notification b{position:absolute;right:4px;top:2px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f10b26;color:#fff;font:900 20px var(--sans)}.death-notification i,.death-notification small{display:block;margin-top:4px;font-style:normal;font:10px var(--mono)}.death-notification small{color:#ff5267}
@keyframes notificationHop{0%,65%,100%{transform:translateY(0) rotate(0)}72%{transform:translateY(-18px) rotate(-4deg)}79%{transform:translateY(0) rotate(3deg)}86%{transform:translateY(-8px)}}
.death-messenger { position:fixed; right:20px; bottom:20px; z-index:9; width:min(470px,calc(100vw - 40px)); max-height:min(680px,82vh); display:grid; grid-template-rows:auto 1fr; border:1px solid #727272; background:#0a0a0a; color:#eee; box-shadow:0 30px 110px #000; animation:messageWindow .32s both; }
@keyframes messageWindow{from{opacity:0;transform:translate(40px,30px) scale(.7)}to{opacity:1;transform:none}}
.death-messenger header{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #3c3c3c;background:#121212}.death-messenger header .avatar{width:44px;height:52px;border-radius:50% 50% 5px 5px}.death-messenger header b,.death-messenger header small{display:block}.death-messenger header small{color:#8d8d8d;font:9px var(--mono)}.death-messenger header button{border:0;background:transparent;color:#aaa;font-size:28px;cursor:pointer}
.death-message-body{overflow:auto;padding:18px;min-height:340px}.rosette-message{width:fit-content;max-width:84%;padding:11px 13px;border:1px solid #555;border-radius:3px 15px 15px 15px;background:#181818;font:14px/1.65 var(--serif);animation:messageEnter .35s both}.typing-dots{width:fit-content;padding:9px 13px;border-radius:14px;background:#181818;color:#777;font-size:8px;animation:typingPulse .8s infinite alternate}.death-replies{margin-top:22px}.death-replies .choice-button{margin-top:9px;color:#fff;background:#111;border-color:#777}
@keyframes typingPulse{to{color:#ddd;letter-spacing:.18em}}
.quit-button { position:relative; overflow:visible; }
.quit-button strong { display:block; margin-top:9px; font-weight:400; letter-spacing:.08em; }
.quit-button::before,.quit-button::after { content:attr(data-ghost); position:absolute; left:25px; right:-20vw; top:58%; color:#f20b28; font-size:clamp(17px,3vw,38px); opacity:.55; pointer-events:none; white-space:nowrap; transform:translateY(-50%) skewX(-18deg); animation:quitLeak 1.1s steps(2,end) infinite; }
.quit-button::after { top:90%; left:10vw; color:#fff; opacity:.18; animation-delay:-.4s; }
.stutter { display:inline-block; color:#ff0b25; letter-spacing:-.1em; animation:stutterBreak .8s steps(2,end) infinite; }
@keyframes quitLeak { 50%{transform:translate(25px,-50%) skewX(20deg);filter:blur(2px)} }
@keyframes stutterBreak { 25%{transform:scaleX(2.3);letter-spacing:.05em} 50%{transform:scaleY(2) translateY(-8px)} 75%{transform:translateX(-30px)} }
.quit-collapse { position:relative; color:#ddd; animation:quitPanel .16s steps(2,end) infinite; }
.quit-wall { position:fixed; inset:-20vh -20vw; z-index:-1; overflow:hidden; color:#ff001b; font:900 clamp(30px,8vw,120px)/.55 var(--serif); letter-spacing:-.18em; word-break:break-all; opacity:.45; transform:rotate(-8deg) scale(1.4); animation:wallChurn 1.1s steps(3,end) infinite; }
@keyframes quitPanel { 50%{transform:translateX(3px);text-shadow:-9px 0 #800} }
@keyframes wallChurn { 50%{transform:rotate(6deg) scale(2);filter:blur(3px)} }

.modal-backdrop { position:fixed; inset:0; z-index:500; display:grid; place-items:center; padding:20px; background:rgba(27,58,58,.46); backdrop-filter:blur(6px); }
.modal { width:min(560px,92vw); max-height:88vh; overflow:auto; padding:22px; background:#f0efda; border:1px solid #597c78; box-shadow:0 25px 100px rgba(20,50,50,.4); }
.modal h2 { margin:0 0 16px; font:24px var(--serif); }
.modal pre { white-space:pre-wrap; font:13px/1.8 var(--serif); }
.yisan-backdrop{background:rgba(22,43,42,.22);backdrop-filter:blur(2px)}
.yisan-popup{width:min(500px,92vw);border:3px outset #ddd;background:#f2eedb;color:#253d3d;box-shadow:16px 16px 0 rgba(30,45,46,.35);font-family:var(--sans)}.yisan-popup header{display:flex;justify-content:space-between;padding:8px 10px;background:#345f60;color:#fff;font:10px var(--mono)}.yisan-popup header button{width:22px;height:20px;border:1px outset #eee;background:#ddd}.yisan-popup p{min-height:105px;margin:0;padding:24px 28px;font:italic 22px/1.7 "HanziPen SC","Hannotate SC","Xingkai SC","STXingkai","Kaiti SC","STKaiti","KaiTi",cursive;letter-spacing:.05em}.yisan-popup>button{margin:0 28px 22px}.yisan-popup>small{display:block;padding:10px 14px;border-top:1px solid #aab8ac;background:#ddd8c3;font:9px var(--mono)}.yisan-popup-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 28px 22px}.yisan-popup-choices button{padding:14px;border:2px outset #fff;background:#ddd8c5;cursor:pointer}
.holly-rage-flash{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;background:#a40019;color:#fff;mix-blend-mode:normal;animation:hollyRage 1.25s steps(2,end) both;pointer-events:none}.holly-rage-flash::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(0,0,0,.42) 4px 7px),radial-gradient(circle at 50% 50%,transparent 0 14%,#220006 15% 100%)}.holly-rage-flash i{position:relative;z-index:1;font:700 clamp(24px,6vw,76px)/1 var(--serif);letter-spacing:.25em;text-indent:.25em;font-style:normal;text-shadow:10px 0 #210006}
@keyframes hollyRage{0%{opacity:0}12%,28%,46%,72%{opacity:1;filter:invert(0)}20%,36%,58%{opacity:.25;filter:invert(1)}100%{opacity:0}}
.one-line-reaction{margin:24px 0;font:22px/1.5 "HanziPen SC","Hannotate SC","Xingkai SC","STXingkai","Kaiti SC","STKaiti","KaiTi",cursive;font-style:italic;letter-spacing:.05em}
.varis-chat-pop{width:min(500px,92vw);padding:18px 20px 20px;background:#e8eadb;border:1px solid #557774;box-shadow:12px 14px 0 rgba(28,51,50,.36)}.varis-chat-pop header{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid #afbaa9}.varis-chat-pop header .avatar{width:48px;height:56px;flex:0 0 auto;border:1px solid #486662}.varis-chat-pop header div{display:grid;gap:3px}.varis-chat-pop header b{font:700 18px var(--serif)}.varis-chat-pop header small{font:9px var(--mono);color:#687a74}.varis-chat-bubble{position:relative;width:max-content;max-width:78%;margin:20px 0 18px 58px;padding:13px 17px;border:1px solid #70231f;border-radius:3px 16px 16px;background:#e45449;color:#28110f;box-shadow:4px 5px 0 rgba(70,25,22,.22);font:20px/1.5 var(--serif)}.varis-chat-bubble::before{content:"";position:absolute;left:-10px;top:-1px;border-width:0 11px 12px 0;border-style:solid;border-color:transparent #70231f transparent transparent}.varis-chat-bubble::after{content:"";position:absolute;left:-8px;top:0;border-width:0 10px 11px 0;border-style:solid;border-color:transparent #e45449 transparent transparent}
.varis-alert{position:fixed;right:24px;bottom:25px;z-index:480;display:grid;grid-template-columns:54px 90px;grid-template-rows:30px 24px;column-gap:10px;width:180px;padding:9px;border:3px solid #3b1411;background:#e44d42;color:#1b1010;box-shadow:8px 8px 0 #1b1010;text-align:left;cursor:pointer;animation:varisKnock .58s steps(2,end) infinite}.varis-alert .avatar{grid-row:1/3;width:54px;height:62px}.varis-alert b{position:absolute;right:-11px;top:-24px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff0cd;border:3px solid #3b1411;color:#b32320;font:900 32px var(--mono)}.varis-alert i{align-self:end;font:700 17px var(--serif);font-style:normal}.varis-alert small{font:8px var(--mono)}
@keyframes varisKnock{0%,72%{transform:translate(0,0) rotate(0)}78%{transform:translate(-12px,-5px) rotate(-3deg)}84%{transform:translate(8px,0) rotate(2deg)}90%{transform:translate(-5px,0) rotate(-1deg)}}
.holly-breath{position:fixed;inset:0;z-index:36;overflow:hidden;pointer-events:none;opacity:.34;mix-blend-mode:multiply}.holly-breath::before,.holly-breath::after,.holly-breath i{content:"";position:absolute;inset:-18%;background:radial-gradient(ellipse at 50% 47%,transparent 0 26%,rgba(15,42,40,.09) 45%,rgba(6,22,21,.22) 74%,transparent 75%);filter:blur(22px);animation:hollyBreath 6.8s ease-in-out infinite}.holly-breath::after{animation-delay:-3.4s;transform:rotate(90deg)}.holly-breath i{inset:-10% auto -10% 18%;width:2px;background:linear-gradient(transparent,rgba(7,24,22,.45),transparent);filter:blur(.5px);animation:wetThread 9s ease-in-out infinite}.holly-breath i:nth-child(2){left:51%;animation-delay:-3s}.holly-breath i:nth-child(3){left:79%;animation-delay:-6s}
@keyframes hollyBreath{0%,100%{transform:scale(.94);opacity:.25}50%{transform:scale(1.08);opacity:.72}}
@keyframes wetThread{0%,100%{transform:translateY(-8%) scaleY(.7);opacity:.16}50%{transform:translateY(7%) scaleY(1.15);opacity:.62}}
.holly-awake .view{animation:siteBreath 6.8s ease-in-out infinite;transform-origin:50% 30%}@keyframes siteBreath{0%,100%{filter:saturate(.94);transform:scale(1)}50%{filter:saturate(.82) contrast(1.025);transform:scale(1.002)}}
.hell-alert-stack{position:fixed;right:24px;bottom:24px;z-index:485;display:grid;gap:12px}.hell-alert{position:relative;display:grid;grid-template-columns:52px 110px;grid-template-rows:28px 22px;column-gap:10px;width:194px;padding:9px;border:3px solid #142e2d;background:#e8ead9;color:#173432;box-shadow:8px 8px 0 #173432;text-align:left;cursor:pointer;animation:hellKnock .72s steps(2,end) infinite}.hell-alert .avatar{grid-row:1/3;width:52px;height:60px}.hell-alert b{position:absolute;right:-10px;top:-16px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#b41f2f;color:#fff7d8;font:900 25px var(--mono)}.hell-alert i{align-self:end;font:700 16px var(--serif);font-style:normal}.hell-alert small{font:8px var(--mono);color:#77423e}.hell-alert-varis{background:#e9d1c8}.hell-alert-greed{background:#e7ddad}.hell-alert:nth-child(2){animation-delay:-.31s}
@keyframes hellKnock{0%,68%,100%{transform:translate(0)}76%{transform:translate(-12px,-6px) rotate(-2deg)}84%{transform:translate(7px,1px) rotate(1deg)}}
.hell-chat-backdrop{background:rgba(11,31,30,.58);backdrop-filter:blur(9px)}.hell-chat-pop{width:min(510px,94vw);max-height:84vh;overflow:auto;padding:18px;background:#e9e9d9;border:1px solid #315a56;box-shadow:14px 16px 0 rgba(10,30,29,.5)}.hell-chat-pop header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #98aaa0}.hell-chat-pop header .avatar{width:48px;height:56px}.hell-chat-pop header div{display:grid}.hell-chat-pop header b{font:700 19px var(--serif)}.hell-chat-pop header small{font:9px var(--mono);color:#657772}.hell-chat-log{display:grid;gap:10px;padding:18px 0}.hell-chat-bubble{position:relative;width:fit-content;max-width:80%;margin:0;padding:11px 14px;border:1px solid #486b65;border-radius:4px 17px 17px;background:#f5f1da;box-shadow:3px 4px 0 rgba(34,69,65,.15);font:16px/1.65 var(--serif);animation:messageEnter .35s both}.hell-chat-bubble small{display:block;color:#708078;font:8px var(--mono)}.hell-chat-bubble.mine{justify-self:end;background:#b8d2ca;border-radius:17px 4px 17px 17px}.hell-chat-pop>.primary{width:100%}
.hell-go-backdrop{background:rgba(5,19,18,.72)}.hell-go-card{width:min(640px,94vw);padding:clamp(26px,6vw,58px);border:1px solid #7a9890;background:#dfe6d7;color:#153332;box-shadow:0 35px 130px #06100f,inset 0 0 55px rgba(13,41,38,.18);position:relative;overflow:hidden}.hell-go-card::before{content:"";position:absolute;inset:-30%;background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 31px,rgba(5,21,20,.08) 32px 34px);animation:hollyBreath 8s infinite;pointer-events:none}.hell-go-card>*{position:relative}.hell-go-card>span{font:10px var(--mono);letter-spacing:.18em}.hell-go-card h2{margin:24px 0 12px;font:clamp(42px,8vw,78px)/.92 var(--serif);letter-spacing:-.06em}.hell-go-card p{max-width:500px;font:15px/1.85 var(--serif)}.hell-go-button{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:26px;padding:18px 22px;border:1px solid #153332;background:#f0edd6;color:#153332;font:15px var(--mono);cursor:pointer}.hell-go-button b{font-size:30px;color:#9b2835}
.case-reader.hell-reader{max-width:960px}.hell-reader>.eyebrow{text-align:center}.hell-reader>.case-tabs{justify-content:center}.hell-version-switch{position:sticky;top:76px;z-index:20;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;margin:18px 0;padding:9px;border:1px solid #607d77;background:rgba(230,235,216,.94);box-shadow:5px 6px 0 rgba(32,62,59,.2);backdrop-filter:blur(8px)}.hell-version-switch span{grid-column:1/-1;font:9px var(--mono);letter-spacing:.12em;text-align:center}.hell-version-switch button{padding:10px 12px;border:1px solid #55736e;background:#f0eed9;color:#284946;font:10px var(--mono);cursor:pointer}.hell-version-switch button.active{background:#1f4240;color:#f2eed7}.hell-version-locked{display:flex;justify-content:space-between;gap:20px;margin:18px 0;padding:14px 16px;border:1px dashed #7c8d83;background:#dfe4d3;font:10px var(--mono)}.hell-version-locked span{color:#65756f}
.hell-manuscript{position:relative;overflow:hidden;margin:18px 0 24px;border:1px solid #4d6964;box-shadow:12px 14px 0 rgba(25,55,52,.2)}.hell-manuscript>header{padding:clamp(22px,5vw,48px);border-bottom:1px solid currentColor}.hell-manuscript>header>span{font:9px var(--mono);letter-spacing:.16em}.hell-manuscript h2{max-width:820px;margin:17px 0 6px;font:clamp(34px,6vw,68px)/1.04 var(--serif);letter-spacing:-.055em}.hell-manuscript>header p{font:10px/1.7 var(--mono)}.hell-copy{position:relative;padding:clamp(24px,6vw,68px)}.hell-copy p{margin:0 0 1.65em;white-space:pre-wrap;font:16px/2.05 var(--serif)}.hell-paragraph .hell-redacted{display:inline;margin:0 .06em}.hell-manuscript>footer{padding:18px clamp(24px,6vw,68px);border-top:1px solid currentColor;font:10px/1.7 var(--mono)}
.hell-polluted{background:#e8e6d9;color:#162a29}.hell-polluted>header{background:#203a38;color:#eee9d8;text-align:center}.hell-polluted>header h2{margin-left:auto;margin-right:auto}.hell-polluted .hell-copy{background:linear-gradient(90deg,rgba(255,255,255,.2),transparent 12% 88%,rgba(0,0,0,.06))}.hell-yisan-add{color:#68716e!important;text-shadow:none;letter-spacing:.012em;cursor:pointer;transition:background .18s}.hell-yisan-add:hover{background:rgba(89,99,95,.08)}.hell-yisan-add.struck{text-decoration:line-through 2px #7e3036;text-decoration-skip-ink:none;color:#747b78!important}.hell-holly-remain{color:#162a29}.hell-redacted{color:transparent!important;background:#050706;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.06em .09em .04em;line-height:inherit!important;user-select:none}.hell-redacted.can-reveal{cursor:text}.hell-redacted.can-reveal:hover,.hell-redacted.can-reveal:focus{color:#162a29!important;background:transparent;outline:0;user-select:text}.hell-polluted>footer{background:#d1d2c7;color:#6c6e69}
.hell-original{background:#e9e9df;color:#142927;box-shadow:10px 12px 0 rgba(5,25,23,.22)}.hell-original::before{content:"";position:absolute;z-index:1;inset:-4%;background:radial-gradient(ellipse at 0 0,rgba(5,18,17,.62),transparent 27%),radial-gradient(ellipse at 100% 0,rgba(5,18,17,.52),transparent 29%),radial-gradient(ellipse at 0 100%,rgba(5,18,17,.48),transparent 28%),radial-gradient(ellipse at 100% 100%,rgba(5,18,17,.58),transparent 27%);filter:blur(15px);opacity:.78;animation:cornerFog 8s ease-in-out infinite;pointer-events:none}.hell-original::after{display:none}.hell-original>header,.hell-original>.hell-copy,.hell-original>footer{position:relative;z-index:2}.hell-original>header{background:rgba(213,220,209,.94);color:#152d2a;text-align:center}.hell-original>header h2{margin-left:auto;margin-right:auto}.hell-original .hell-copy{background:rgba(244,242,232,.95)}.hell-original .hell-copy p{font-size:17px;line-height:2.15}.hell-original>footer{background:rgba(215,218,207,.96);color:#526660}.hell-author-note{padding:12px 14px;border-left:3px solid #722f39;background:rgba(235,233,210,.74);font-family:var(--mono)!important;font-size:11px!important;color:#54282d}@keyframes cornerFog{0%,100%{transform:translate(0) scale(1);opacity:.7}50%{transform:translate(7px,-5px) scale(1.025);opacity:.88}}
.hell-inline-media{float:right;width:min(250px,42%);margin:.4em 0 1.5em 1.8em;display:grid;gap:10px}.hell-inline-media button{display:block;width:100%;padding:7px;border:1px solid #526b66;background:#dedfd2;color:#28413e;text-align:left;cursor:pointer;box-shadow:4px 5px 0 rgba(24,54,50,.17);transform:rotate(.35deg)}.hell-inline-media button:nth-child(even){transform:rotate(-.5deg)}.hell-inline-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72) contrast(1.03)}.hell-inline-media span{display:block;padding:7px 3px 1px;font:8px/1.45 var(--mono)}.hell-system-residue{clear:both;margin:35px 0;padding-top:24px;border-top:4px double #52716c}.hell-system-residue>h3{font:12px var(--mono);letter-spacing:.14em}
.hell-manuscript>header{padding:clamp(20px,3.5vw,34px)}.hell-manuscript h2{max-width:760px;margin:14px auto 5px;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.04em}.hell-original::before{z-index:3}
.author-dock{position:fixed;left:16px;bottom:16px;z-index:1900;display:grid;gap:3px;width:205px;padding:11px 13px;border:3px double #7d251f;background:#fff0a7;color:#622319;box-shadow:7px 7px 0 rgba(47,35,20,.36);font:9px/1.5 var(--mono)}.author-dock b{font-size:12px}.author-dock span{opacity:.72}.author-dock a{margin-top:5px;color:#622319;font-weight:bold}
.media-lightbox{margin:0}.media-lightbox img{display:block;width:100%;max-height:66vh;object-fit:contain;background:#111}.media-lightbox figcaption{padding:14px 0 0;font:12px/1.7 var(--mono);color:var(--muted)}.media-hotspots{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.media-hotspots button{padding:8px 11px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:10px var(--mono);cursor:pointer}.media-hotspots button:hover{background:var(--ink);color:var(--paper)}.media-clue-output{min-height:44px;margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--red);background:rgba(127,45,39,.08);font:12px/1.7 var(--mono)}
.device-log{border:1px solid #738e83;background:#0e1714;color:#bfffae;font:11px/1.5 var(--mono)}.device-log>div{display:grid;grid-template-columns:90px 110px 1fr;gap:10px;padding:12px;border-bottom:1px solid #31493f}.device-log time{color:#6ba98b}.device-log b{color:#f4de65}.device-log .log-corrupt{background:#411326;color:#ff9fb8;animation:nextWorry 1s steps(2,end) infinite}

.case-final-locked{opacity:.56;filter:grayscale(1);cursor:not-allowed}.case-final-locked b{color:#5f706a}.holly-house-reader .case-reader-title{max-width:100%;margin-inline:auto;text-align:center;font-size:clamp(42px,6vw,76px)}
.holly-house{position:relative;max-width:1040px;min-height:620px;margin:28px auto 0;border:1px solid #4e6965;background:#eff0df;color:#173532;box-shadow:13px 15px 0 rgba(30,58,56,.16);overflow:hidden}.holly-house>header{position:relative;z-index:12;display:flex;justify-content:space-between;gap:20px;padding:12px 16px;border-bottom:1px solid #526d69;background:#203f3d;color:#ecf0dc;font:9px/1.4 var(--mono);letter-spacing:.13em}.holly-house>header b{color:#f4c6cb}.holly-house button{font-family:var(--mono)}.holly-house>.primary{display:block;margin:24px auto}.holly-house .holly-next{position:relative;z-index:5}

.holly-search-scene{padding-bottom:55px;background:linear-gradient(135deg,#e9eadc,#bdcfca)}.holly-search-bar{display:grid;grid-template-columns:40px 1fr auto;gap:10px;width:min(820px,calc(100% - 40px));margin:70px auto 12px;padding:10px;border:2px solid #233e3c;background:#f6f1dc;box-shadow:8px 8px 0 rgba(31,59,56,.2)}.holly-search-bar i{display:grid;place-items:center;font-size:26px}.holly-search-bar input{min-width:0;border:0;border-bottom:2px solid #a53d42;background:transparent;color:#1b3936;font:32px/1.2 var(--serif);outline:0}.holly-search-bar button{border:1px solid #294946;background:#d4ddd1;color:#274642;padding:10px 14px;cursor:pointer}.holly-search-bar button:disabled{opacity:.35}.holly-search-count{width:min(820px,calc(100% - 40px));margin:auto;font:11px var(--mono)}.holly-search-count strong{font-size:27px;color:#a53d42}.holly-no-result{display:grid;place-items:center;gap:9px;min-height:310px;margin:25px 20px;border:1px dashed #6e817d;color:#647a74;filter:grayscale(1)}.holly-no-result b{font:34px var(--serif)}.holly-no-result span{font:10px var(--mono);animation:searchFade 1.3s steps(2,end) infinite}.holly-search-result{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:20px;width:min(820px,calc(100% - 40px));margin:24px auto 0;padding:12px;border:1px solid #435f5b;background:#f3efdb;color:#193a37;text-align:left;cursor:pointer;box-shadow:8px 8px 0 rgba(38,61,58,.18);animation:resultEnter .5s both}.holly-search-result img{width:100%;height:145px;object-fit:cover;filter:grayscale(.75) contrast(1.12)}.holly-search-result span{display:grid;gap:10px}.holly-search-result span b{font:35px var(--serif)}.holly-search-result span small{font:10px/1.8 var(--mono)}.holly-search-result>i{font-style:normal;font-weight:bold;color:#a53d42}

.holly-bedroom-scene{padding-bottom:40px;background:#eacfd5}.holly-bedroom-frame{position:relative;height:430px;background:#bdc9b8;overflow:hidden}.holly-bedroom-frame>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(.96) brightness(1.08)}.holly-bedroom-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,206,219,.22),transparent 43%,rgba(178,209,181,.22));box-shadow:inset 0 0 80px rgba(30,58,55,.18);pointer-events:none}.room-tag{position:absolute;z-index:2;padding:7px 9px;border:1px solid #1f4641;background:rgba(243,241,217,.88);font:8px var(--mono);box-shadow:4px 4px 0 rgba(17,47,43,.2)}.room-tag.code{left:7%;bottom:12%}.room-tag.edit{right:8%;top:16%}.different-slippers{position:absolute;z-index:2;left:46%;bottom:5%;display:flex;gap:4px;align-items:end}.different-slippers i{display:block;width:21px;height:40px;border-radius:50% 50% 35% 35%;background:#923d47;transform:rotate(18deg)}.different-slippers i:nth-child(2){background:#547b66;transform:rotate(-12deg) translateY(-4px)}.different-slippers span{margin-left:5px;padding:4px;background:rgba(244,241,218,.82);font:7px var(--mono)}.holly-house-chat{position:relative;z-index:4;display:grid;gap:9px;width:min(760px,calc(100% - 32px));margin:-38px auto 0;padding:20px;border:1px solid #516c68;background:rgba(242,239,218,.94);box-shadow:7px 7px 0 rgba(30,57,55,.18)}.holly-house-bubble{width:fit-content;max-width:76%;margin:0;padding:10px 13px;border-radius:2px 13px 13px 13px;background:#d4dfd1;font:16px/1.6 var(--serif);animation:bubbleIn .28s both}.holly-house-bubble.yisan{justify-self:end;border-radius:13px 2px 13px 13px;background:#f0cbd1}.holly-house-bubble small{display:block;margin-bottom:3px;color:#6e7771;font:7px var(--mono)}.recovery-cursor{margin:18px;text-align:center;font:9px var(--mono);animation:searchFade 1.2s steps(2,end) infinite}

.holly-if-scene{min-height:760px;background:radial-gradient(ellipse at 50% 45%,#324d49 0 28%,#112a28 57%,#e8e7d4 58% 100%)}.paused-caption{position:relative;z-index:3;margin:28px;text-align:center;color:#345550;font:10px var(--mono)}.if-door{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5px;width:min(620px,78vw);min-height:570px;margin:15px auto 45px;padding:54px 40px 34px;border:15px double #d9ded0;background:#142e2c;color:#e9ead8;box-shadow:0 0 0 3px #6d8b84,0 0 80px rgba(245,227,220,.22);cursor:pointer}.if-door::after{content:"";position:absolute;right:17px;top:52%;width:15px;height:15px;border-radius:50%;background:#c5464b;box-shadow:0 0 14px #f8666c}.if-door strong{position:absolute;top:13px;left:0;right:0;text-align:center;font:34px var(--serif);letter-spacing:.35em}.if-door span{display:grid;place-items:center;padding:5px;border-bottom:1px solid rgba(224,235,217,.2);font:12px/1.55 var(--serif);opacity:0;animation:ifAppear .28s calc(var(--i)*.12s) forwards}.if-door i{position:absolute;bottom:10px;left:0;right:0;color:#efb9bb;font:8px var(--mono);font-style:normal;letter-spacing:.3em;animation:searchFade .8s 1.6s steps(2,end) infinite}

.holly-incident-scene{padding-bottom:40px;background:#c4d3cc}.garden-screen{position:relative;width:min(850px,calc(100% - 38px));min-height:260px;margin:35px auto 0;border:12px ridge #ced9cf;background:#0c2221;color:#aef9ce;box-shadow:0 0 35px rgba(18,53,47,.25)}.garden-head{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid #42635d;font:10px var(--mono)}.garden-head i{font-style:normal;color:#ffb4c0;animation:searchFade .8s steps(2,end) infinite}.blank-roles{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding:35px}.blank-roles i{display:grid;place-items:center;aspect-ratio:4/5;border:1px dashed #6a9288;background:#173733;color:#8db3a9;font:26px var(--serif)}.overlap-cursors{position:absolute;left:50%;bottom:22px;width:90px;height:20px;transform:translateX(-50%)}.overlap-cursors b{position:absolute;padding:3px 5px;background:#f0d5db;color:#543138;font:7px var(--mono);animation:cursorMeet 2.6s ease-in-out infinite alternate}.overlap-cursors b:last-child{right:0;background:#d5e3d4;color:#193b35;animation-direction:alternate-reverse}.incident-chat{margin:16px auto}.permission-editor{width:min(760px,calc(100% - 32px));margin:17px auto;padding:13px;border:1px solid #435e5a;background:#e9ead9}.permission-editor>div{display:flex;justify-content:space-between;font:8px var(--mono)}.permission-editor input{width:100%;margin:9px 0;padding:12px;border:1px solid #48635e;background:#fffce9;color:#182e2b;font:25px var(--serif)}.permission-editor small{font:8px var(--mono);color:#9d3d43}.permission-editor.is-readonly{box-shadow:inset 0 0 0 5px rgba(151,48,56,.22)}.permission-cut{display:block;margin:22px auto;padding:12px 18px;border:1px solid #263f3c;background:#f0eeda;color:#203e3a;cursor:pointer;box-shadow:5px 5px 0 rgba(35,62,58,.2)}.permission-cut.danger{background:#8f3038;color:#fff0de}

.holly-narrow-scene{min-height:820px;padding-bottom:50px;background:linear-gradient(90deg,#d9dfd2,#eef0df 50%,#d9dfd2)}.narrow-copy{display:grid;place-items:center;gap:12px;margin:45px auto 25px;min-height:360px}.narrow-copy>span{display:block;width:260px;padding:6px 8px;border-bottom:1px solid #829a93;text-align:center;font:18px var(--serif);overflow:hidden;white-space:nowrap;animation:narrowText 3.4s calc(var(--i)*.14s) ease-in-out both}.narrow-copy>strong{display:grid;grid-template-columns:1fr;gap:4px;width:34px;margin-top:15px;padding:10px 5px;border:1px solid #982f38;background:#fff5dd;color:#8d2b34;text-align:center;font:25px/1.1 var(--serif)}.narrow-copy>strong i{font-style:normal}.holly-answer-panel{width:min(710px,calc(100% - 32px));margin:auto;padding:22px;border:1px solid #536d68;background:#f5f1dc;box-shadow:8px 8px 0 rgba(33,61,57,.18)}.holly-answer-panel h2{font:24px var(--serif)}.holly-false-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.holly-false-choices button,.manual-answer button{padding:11px;border:1px solid #375450;background:#d9dfd2;color:#1f403c;cursor:pointer}.wrong-answer-return{color:#9d2d39;font:9px var(--mono)}.holly-answer-panel>label{display:block;margin:18px 0 6px;font:8px var(--mono)}.manual-answer{display:grid;grid-template-columns:1fr auto;gap:8px}.manual-answer input{min-width:0;padding:12px;border:1px solid #49635f;background:#fffef1;font:18px var(--serif)}

.holly-timeline-scene{min-height:740px;padding-bottom:45px;background:#dbe2d5}.holly-timeline-scene>blockquote{width:min(720px,calc(100% - 40px));margin:35px auto;padding:15px 18px;border-left:5px solid #9d3038;background:#f2edd9;font:20px/1.6 var(--serif)}.cctv-strip{display:flex;justify-content:space-between;align-items:center;width:min(850px,calc(100% - 40px));height:120px;margin:auto;padding:20px;border:10px ridge #d4dbd0;background:repeating-linear-gradient(0deg,#6d817c 0 2px,#879a94 3px 5px);color:#f0f2df;font:10px var(--mono);transition:.25s}.cctv-strip.blackout{background:#050e0d;color:#789089;box-shadow:0 0 40px rgba(0,0,0,.7)}.cctv-strip i{color:#ff636d;font-style:normal;animation:searchFade .7s steps(2,end) infinite}.holly-event-line{width:min(800px,calc(100% - 40px));margin:25px auto}.holly-event-line article{display:grid;grid-template-columns:130px 1fr;border-top:1px solid #708782;animation:eventDrop .4s both}.holly-event-line time{padding:16px;color:#9b3038;font:12px var(--mono)}.holly-event-line p{margin:0;padding:16px;font:16px/1.7 var(--serif)}.holly-event-line em{display:block;color:#852c34;font-style:normal}

.holly-poem-scene{min-height:760px;background:#152c2a;color:#edf0df}.covered-evidence{position:absolute;z-index:1;inset:80px 8% 65px;padding:40px;border:3px double #dbe1d4;background:#e9e9d8;color:#1f3a37;font:17px/1.8 var(--serif)}.covered-evidence p{border-bottom:1px solid #7f918c}.door-gap{position:absolute;right:8%;top:15%;bottom:10%;width:80px;background:#101e1d;box-shadow:inset 10px 0 20px #000}.poem-swarm{position:absolute;z-index:2;inset:58px 0 0;overflow:hidden;background:rgba(14,31,29,.3);pointer-events:none}.poem-swarm span{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);color:#fffef0;text-shadow:0 0 6px #fff;font:clamp(11px,1.5vw,22px) var(--serif);transform:rotate(calc(var(--r)*1deg));animation:poemCrawl 1.2s var(--d) ease-in-out infinite alternate}.love-drag-handle{position:absolute;z-index:6;left:calc(50% - 72px);top:calc(50% - 72px);display:grid;place-items:center;width:144px;height:144px;border:4px double #fbf4df;border-radius:50%;background:#9b2e39;color:#fff5e3;cursor:grab;box-shadow:0 0 0 14px rgba(155,46,57,.24),0 0 70px #fff;touch-action:none;user-select:none}.love-drag-handle b{font:70px/1 var(--serif)}.love-drag-handle span{font:8px var(--mono)}.love-drag-handle.dragging{cursor:grabbing;box-shadow:0 0 90px #b52434}.drag-instruction{position:absolute;z-index:7;left:0;right:0;bottom:15px;text-align:center;color:#fff;font:9px var(--mono)}

.holly-door-reveal{padding-bottom:50px;background:#dce3d8}.door-evidence{position:relative;width:min(850px,calc(100% - 40px));margin:34px auto}.door-evidence>img{display:block;width:100%;max-height:420px;object-fit:cover;filter:grayscale(.62) contrast(1.1)}.doorplate{position:absolute;right:6%;bottom:7%;padding:18px 20px;border:5px ridge #6b4b34;background:#4d3224;color:#eee2c4;box-shadow:8px 9px 0 rgba(13,31,28,.4);transform:rotate(-2deg)}.doorplate small{display:block;font:7px var(--mono)}.doorplate strong{display:block;margin-top:8px;font:20px/1.45 var(--serif)}.holly-final-note{width:min(760px,calc(100% - 40px));margin:25px auto;padding:22px;border:1px solid #526c68;background:#f3efdb;font:20px/1.9 var(--serif)}.yisan-after-edit{width:min(720px,calc(100% - 40px));margin:18px auto;padding:15px;border-left:5px solid #a1303b;background:#d9ded3;color:#565f5b}.yisan-after-edit small{font:8px var(--mono)}.yisan-after-edit p{font:17px var(--serif)}.seven-replies{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:min(800px,calc(100% - 40px));margin:20px auto}.holly-role-reply{margin:0;padding:12px;border:1px solid #687d78;background:#eeefdd;font:14px/1.6 var(--serif);opacity:0;animation:replyWake .3s calc(var(--i)*.04s) forwards}.holly-role-reply:last-child{grid-column:1/-1;background:#f0cbd1}.holly-role-reply b{display:block;color:#942e38;font:9px var(--mono)}

.holly-common-friend{padding-bottom:55px;background:radial-gradient(circle at 50% 30%,#dfe6da,#b5c9c2)}.seven-typing{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;width:min(900px,calc(100% - 40px));margin:45px auto}.seven-typing>div{display:grid;justify-items:center;gap:5px;padding:10px 4px;border:1px solid #607873;background:#e9ecda}.seven-typing .avatar{width:58px;height:68px}.seven-typing b{font:9px var(--mono)}.seven-typing i{color:#a2303a;font:7px var(--mono);font-style:normal;animation:typingHeart .75s calc(var(--i)*-.05s) infinite alternate}.common-friend-prompt{width:min(680px,calc(100% - 40px));margin:auto;padding:28px;border:1px solid #536b66;background:#f2efdc;text-align:center;box-shadow:8px 8px 0 rgba(29,56,52,.18)}.common-friend-prompt p{font:10px var(--mono)}.common-friend-prompt h2{font:30px var(--serif)}.deleted-holly-card{display:grid;justify-items:center;gap:8px;width:190px;margin:25px auto;padding:23px;border:1px solid #778c85;background:#eacfd6;box-shadow:7px 7px 0 rgba(39,65,61,.17)}.holly-leaf{font-size:62px;color:#607e68}.deleted-holly-card b{font:26px var(--serif)}.deleted-holly-card span{color:#942f39;font:8px var(--mono)}

@keyframes searchFade{50%{opacity:.34}}@keyframes resultEnter{from{opacity:0;transform:translateY(12px)}}@keyframes bubbleIn{from{opacity:0;transform:translateY(8px)}}@keyframes ifAppear{to{opacity:1}}@keyframes cursorMeet{to{left:38px}}@keyframes narrowText{0%{width:260px}70%,100%{width:34px}}@keyframes eventDrop{from{opacity:0;transform:translateY(-9px)}}@keyframes poemCrawl{to{transform:translate(8px,-6px) rotate(calc(var(--r)*-1deg))}}@keyframes replyWake{to{opacity:1;transform:translateY(0)}}@keyframes typingHeart{to{color:#ee6470;transform:scale(1.16)}}

.holly-shell { min-height:100vh; padding:clamp(24px,6vw,80px); background:#f3dce2; color:#445c4b; }
.holly-page { max-width:1100px; margin:auto; background:#fffaf3; border:1px solid #a8b8a6; padding:clamp(24px,6vw,78px); box-shadow:0 25px 90px rgba(92,85,88,.18); }
.holly-branch { font-size:70px; color:#819d7e; }
.holly-page h1 { margin:0; font:clamp(50px,9vw,120px)/.85 var(--serif); color:#bd768b; letter-spacing:-.09em; }
.holly-chat { margin:35px 0; padding-left:20px; border-left:3px solid #bd768b; white-space:pre-wrap; font:15px/1.9 var(--serif); }
.holly-versions { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:34px 0; }.holly-versions article{min-height:280px;padding:20px;border:1px solid #a7b7a5;background:#f2ecd9;display:flex;flex-direction:column}.holly-versions article:nth-child(2){background:#b8d5cd}.holly-versions article.infected{background:#eeacc0;color:#6e2442}.holly-versions b{font:10px var(--mono)}.holly-versions h2{font:30px/1.05 var(--serif)}.holly-versions p{font:14px/1.75 var(--serif)}.holly-versions button,.holly-versions span{margin-top:auto;padding:10px;border:1px solid currentColor;background:transparent;font:11px var(--mono)}
.export-log { margin:30px 0;padding:24px;border:1px solid #a7b7a5;background:#fffaf0}.export-log h2{font:28px var(--serif)}.export-log>div{display:grid;grid-template-columns:90px 1fr;border-top:1px solid #c9d1c3}.export-log time{padding:12px;font:12px var(--mono);color:#bd768b}.export-log p{margin:0;padding:12px;font:13px var(--mono)}
.gold-smile { border:0; background:#e8b51e; color:#7e4200; width:38px; height:38px; border-radius:50%; cursor:pointer; box-shadow:inset -4px -5px 0 #bd7a00; }

.gold-shell { min-height:100vh; padding:24px; color:#633700; background:radial-gradient(circle,#fff6c2 0 2px,transparent 3px) 0 0/30px 30px,#e7bd40; font-family:"Comic Sans MS",var(--sans); }
.gold-page { max-width:1200px; margin:auto; padding:30px; background:#fff0b6; border:10px ridge #d99b12; box-shadow:0 0 0 8px #ec3c2f, 20px 20px 0 #179ee8; }
.gold-title { text-align:center; font-size:clamp(42px,8vw,100px); line-height:.9; color:#e62828; text-shadow:4px 4px #fff,7px 7px #1a9add; animation:goldPulse 1s infinite alternate; }
.gold-slogan{text-align:center;font-size:22px;color:#0b72c5}.gold-welcome{padding:22px;border:5px dotted #e32c25;background:#fff8d4;font:18px/1.7 "Comic Sans MS",var(--sans)}.gold-welcome marquee{display:block;margin:-22px -22px 18px;padding:8px;background:#168bd5;color:#fff;font-weight:bold}
.gold-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px;margin:25px 0}.gold-case-card{min-height:230px;display:flex;flex-direction:column;gap:12px;padding:17px;border:6px outset #f2ca4e;background:#fff3b8;color:#663600;text-align:left;cursor:pointer;box-shadow:8px 8px 0 #ec4936}.gold-case-card:nth-child(3n){background:#d9f18e}.gold-case-card:nth-child(3n+2){background:#c4e9ff}.gold-case-card:hover{transform:rotate(-1deg) scale(1.02)}.gold-case-card span{font:10px var(--mono);color:#e42d26}.gold-case-card b{font:25px/1.1 var(--serif)}.gold-case-card small{font:13px/1.55 var(--serif)}.gold-case-card i{margin-top:auto;font-style:normal;font-weight:bold;color:#1479be}
.gold-case-detail{max-width:850px;margin:30px auto;padding:clamp(24px,5vw,55px);background:#fff9d2;border:6px double #db9621;box-shadow:14px 14px 0 #1595d4}.gold-medal{display:inline-block;margin:18px 0;padding:8px 13px;background:#e42e29;color:#fff;font-weight:bold;transform:rotate(-2deg)}.gold-case-detail h2{font:clamp(42px,8vw,80px)/.95 var(--serif);color:#db3026}.gold-dialogue{margin:24px 0;padding:18px;border:3px dotted #1595d4;background:#fff;font:15px/1.8 var(--serif)}
@keyframes goldPulse { to{transform:scale(1.02)} }
.counter { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:25px 0; }
.counter div { background:#101010; color:#44f45a; padding:12px; font:15px var(--mono); border:4px inset #eee; }
.gold-copy { font-size:16px; line-height:1.85; white-space:pre-wrap; }
.confetti { position:fixed; top:-30px; width:12px; height:24px; background:var(--c); left:var(--x); animation:fall var(--d) linear infinite; z-index:6; }
@keyframes fall { to{transform:translateY(110vh) rotate(540deg)} }

.fact-shell { min-height:100vh; padding:clamp(20px,5vw,70px); background:#fff; color:#111; }
.fact-sheet { max-width:900px; margin:auto; }
.fact-sheet h1 { font:40px/1.2 var(--serif); }
.fact-line { display:grid; grid-template-columns:170px 1fr; gap:25px; padding:16px 0; border-bottom:1px solid #bbb; font:15px/1.65 var(--serif); }
.court-room{max-width:850px;margin:auto;border:1px solid #7c918d;background:#eef0df;box-shadow:15px 15px 0 rgba(46,74,73,.14)}.court-room>header{display:flex;justify-content:space-between;gap:25px;padding:24px 28px;border-bottom:4px double #465f5d}.court-room h1{margin:6px 0 0;font:44px/1 var(--serif)}.court-seal{padding:8px 12px;border:3px double #984439;color:#984439;text-align:center;font:11px/1.5 var(--mono);transform:rotate(2deg)}.forbidden-words{margin:0;padding:15px 28px;background:#203d3d;color:#eef0df;font:11px/1.6 var(--mono)}.court-facts{padding:0 28px}.court-room .fact-line{grid-template-columns:28px 90px 1fr;align-items:center;gap:12px}.court-room .fact-line .pixel-icon{width:22px;height:22px;transform:scale(.72);transform-origin:center}.court-question{padding:28px;background:#d6dfd2;border-top:1px solid #8ba09b}.court-question>small{font:9px var(--mono);color:#984439}.court-question h2{font:28px var(--serif)}
.flip-stage { position:fixed; inset:0; z-index:700; padding:18px; background:radial-gradient(circle at 50% 45%,#f5f1d9,#a9bfba); display:grid; place-items:center; overflow:auto; }
.judgment-card{width:min(620px,96vw);padding:22px;border:1px solid #3f605e;background:#edf0dc;box-shadow:18px 18px 0 rgba(31,58,57,.22),inset 0 0 0 7px #d9e2d2}.judgment-card>header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:10px 12px 15px;border-bottom:4px double #456966}.judgment-card>header span{font:9px var(--mono);letter-spacing:.12em}.judgment-card>header b{font:24px var(--serif)}.judgment-chart{position:relative;display:grid;place-items:center;width:330px;max-width:76vw;margin:20px auto}.flip-canvas { display:block;width:300px;height:300px;max-width:72vw;max-height:72vw; }.chart-stamp{position:absolute;right:-80px;bottom:10px;padding:9px;border:3px double #9a4f42;background:rgba(239,240,215,.9);color:#9a4f42;font:700 10px/1.5 var(--mono);white-space:pre-line;transform:rotate(-4deg)}.judgment-phase{padding:11px;text-align:center;font:11px var(--mono)}.judgment-progress{height:9px;border:1px solid #52706e;background:#d5dfd2}.judgment-progress i{display:block;width:0;height:100%;background:#8e363d}.judgment-card.verdict{width:min(720px,96vw)}.verdict-grid{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:28px 12px 18px}.verdict-mark{padding:18px;border:4px double #8e363d;color:#8e363d;text-align:center;font:18px/1.5 var(--serif);transform:rotate(-2deg)}.verdict-mark s{display:block;font-size:13px}.verdict-mark strong{display:block;margin-top:18px;padding-top:15px;border-top:1px solid}.judgment-card.verdict h1{margin:0;font:40px/1 var(--serif)}.judgment-card.verdict blockquote{margin:18px 0;padding:14px;border-left:4px solid #8e363d;background:#dfe5d5;font:14px/1.7 var(--serif)}.judgment-card.verdict>h2{font:19px var(--serif)}

.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:800; max-width:min(560px,90vw); padding:12px 18px; background:#f5f1d6; border:1px solid #5e7c78; box-shadow:var(--shadow); font:12px/1.6 var(--mono); animation:toastIn .25s both; }
@keyframes toastIn { from{opacity:0;transform:translate(-50%,15px)} }

.mobile-nav { display:none; }

@media (max-width: 1050px) {
  .app-grid { grid-template-columns:200px minmax(0,1fr); }
  .status-panel { display:none; }
}

@media (max-width: 720px) {
  .topbar { padding:8px 12px; min-height:62px; }
  .top-actions .metric { display:none; }
  .brand strong { font-size:20px; }
  .app-grid { display:block; padding-bottom:72px; }
  .version-history,.holly-versions,.evidence-grid { grid-template-columns:1fr; }
  .chat-evidence{grid-template-columns:1fr}.device-log>div{grid-template-columns:1fr}.gold-manuscript{font-size:16px;line-height:1.9}.death-notification{right:12px;bottom:12px}.death-messenger{right:8px;bottom:8px;width:calc(100vw - 16px);max-height:88vh}
  .identity-slip { grid-template-columns:1fr; }.identity-slip b{grid-row:auto}
  .archive-fragment{grid-template-columns:1fr}
  .rail { display:none; }
  .view { padding:22px 16px; }
  .mobile-nav { display:grid; grid-template-columns:repeat(5,1fr); position:fixed; left:0; right:0; bottom:0; z-index:45; background:#e7eddc; border-top:1px solid #607c78; }
  .mobile-nav button { border:0; background:transparent; padding:11px 4px; font:9px var(--mono); }
  .review-strip, .hub-tools, .counter { grid-template-columns:1fr; }
  .guestbook-compose{grid-template-columns:1fr}.guestbook>header{display:block}.guestbook>header>span{display:block;margin-top:8px}.guest-entry{grid-template-columns:36px 1fr;padding:12px 10px}.guest-avatar{width:32px;height:38px}.guest-meta{display:block}.guest-meta span{display:block;margin-top:4px}
  .inventory-grid{grid-template-columns:1fr}.ad-warning-case{min-height:520px}.ad-dialog{margin:35px auto;padding:22px}.ad-frame{min-height:330px}.pixel-forensics{gap:2px}.chart-stamp{right:-10px;bottom:-8px}.verdict-grid{grid-template-columns:1fr}.verdict-mark{max-width:190px}.court-room .fact-line{grid-template-columns:24px 70px 1fr;gap:8px}.court-room>header{padding:18px}.court-room h1{font-size:34px}.court-facts{padding:0 14px}
  .profile-head { grid-template-columns:120px 1fr; gap:15px; }
  .profile-name { font-size:45px; }
  .archive-row, .case-row { grid-template-columns:52px 1fr; }
  .archive-row span:last-child, .case-row span:last-child { display:none; }
  .skull-stage { width:min(280px,72vw); height:min(280px,72vw); }
  .death-progress { font-size:10px; }
  .death-dialogue { margin-top:8px; }
  .ownership-columns { grid-template-columns:1fr; }
  .barbell { grid-template-columns:40px 1fr 40px; }
  .barbell s { grid-column:2; }.barbell b{grid-column:2}
  .medical-record-file span{display:grid}.medical-record-note dl div{grid-template-columns:1fr}.medical-record-note dt{border-right:0;border-bottom:1px dotted #aaa}
  .fact-line { grid-template-columns:1fr; gap:5px; }
  .hell-alert-stack{right:10px;bottom:62px}.hell-alert{width:172px;grid-template-columns:46px 96px}.hell-alert .avatar{width:46px;height:54px}.hell-version-switch{top:62px}.hell-version-switch button{padding:9px 5px}.hell-inline-media{float:none;width:100%;margin:18px 0}.hell-inline-media button{max-width:300px;margin:auto}.hell-copy p,.hell-original .hell-copy p{font-size:15px;line-height:2}.hell-manuscript h2{font-size:36px}.hell-version-locked{display:grid}
  .holly-house{min-height:560px}.holly-search-bar{grid-template-columns:32px 1fr;margin-top:35px}.holly-search-bar button{grid-column:1/-1}.holly-search-result{grid-template-columns:1fr}.holly-search-result img{height:180px}.holly-search-result>i{display:none}.holly-bedroom-frame{height:330px}.room-tag{font-size:6px}.different-slippers{left:35%}.if-door{grid-template-columns:1fr;width:88%;min-height:650px;padding-inline:20px}.garden-screen{min-height:220px}.blank-roles{padding:24px 12px;gap:3px}.holly-false-choices{grid-template-columns:1fr}.holly-event-line article{grid-template-columns:85px 1fr}.covered-evidence{inset:72px 4% 60px;padding:20px}.door-gap{width:45px}.love-drag-handle{left:calc(50% - 58px);top:calc(50% - 58px);width:116px;height:116px}.love-drag-handle b{font-size:54px}.doorplate{position:relative;right:auto;bottom:auto;margin:-30px 12px 0}.seven-replies{grid-template-columns:1fr}.holly-role-reply:last-child{grid-column:auto}.seven-typing{grid-template-columns:repeat(4,1fr)}.seven-typing .avatar{width:48px;height:58px}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; }
  .grain { display:none; }
}
