.sheet{background:var(--paper);color:#1d1814;font-family:"Courier Prime",monospace;font-size:14px;line-height:1.55;position:relative;padding:40px 42px 50px;box-shadow:0 24px 50px rgba(0,0,0,.65),inset 0 0 120px rgba(90,60,20,.10);overflow:hidden;
 background-image:radial-gradient(ellipse at 88% 12%,rgba(120,70,20,.14) 0 46px,transparent 47px),radial-gradient(ellipse at 88% 12%,transparent 0 40px,rgba(120,70,20,.2) 41px 43px,transparent 44px),linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px);background-size:auto,auto,100% 22px}
.sheet.noring{background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px)}
.sheet:before{content:"";position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .08 0'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>")}
.sheet>*{position:relative}
.sheet .letterhead{display:flex;gap:14px;align-items:center;border-bottom:2px solid #1d1814;padding-bottom:10px;margin-bottom:14px}
.sheet .crest{width:48px;height:48px;border-radius:50%;border:2px solid #1d1814;display:grid;place-items:center;font:700 10px Inter;text-align:center;line-height:1;flex:none}
.sheet .letterhead h6{font:700 14px "Courier Prime";letter-spacing:.06em}
.sheet .letterhead small{display:block;font-size:11.5px;letter-spacing:.08em}
.sheet .meta{display:grid;grid-template-columns:1fr 1fr;gap:3px 20px;font-size:13px;margin-bottom:12px}
.sheet h5{font:700 13px "Courier Prime";letter-spacing:.12em;margin:16px 0 5px;text-decoration:underline}
.sheet table{border-collapse:collapse;width:100%;font-size:12.5px;margin:6px 0}
.sheet td,.sheet th{border:1px solid #1d1814;padding:4px 6px;text-align:left;vertical-align:top}
.sheet th{background:rgba(0,0,0,.06)}
.sheet p{margin:6px 0}
.sheet .q{margin:6px 0;padding-left:14px}
.sheet .q b{display:inline-block;min-width:22px}
.sheet .stamp{position:absolute;font-size:20px;letter-spacing:.18px;mix-blend-mode:multiply;opacity:.78;transform:rotate(-9deg);letter-spacing:.18em;padding:5px 12px;border-width:3px}
.sheet .stamp.r{right:32px;top:26px}
.sheet .stamp.b{left:40px;bottom:30px;transform:rotate(6deg);font-size:12.5px;border-width:2px}
.sheet .stamp.round{border-radius:50%;width:92px;height:92px;display:grid;place-items:center;text-align:center;font-size:9.5px;line-height:1.15;padding:0;right:40px;bottom:40px;top:auto;transform:rotate(-14deg)}
.redact{background:#111;color:#111;border-radius:1px}
.hand{font:600 17px Caveat,cursive;color:#1a3f8f}
.hand.red{color:#b8121f}
.margin-note{position:absolute;right:26px;width:130px;font:600 16px/1.2 Caveat,cursive;color:#b8121f;transform:rotate(-4deg)}
.clip{position:absolute;left:34px;top:-14px;width:26px;height:64px;border:3px solid #7a7a7a;border-radius:13px;border-bottom-color:transparent;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}
.polaroid{position:absolute;width:124px;background:#fff;padding:7px 7px 26px;box-shadow:0 10px 24px rgba(0,0,0,.45);transform:rotate(7deg)}
.polaroid .ph{height:108px;background:linear-gradient(160deg,#5a5551,#2a2725);filter:grayscale(1) contrast(1.1)}
.polaroid small{position:absolute;bottom:5px;left:8px;font:700 13px Caveat,cursive;color:#222}
.tape{position:absolute;width:70px;height:20px;background:rgba(255,235,170,.55);transform:rotate(-40deg);left:-16px;top:-6px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.sig{font:500 24px Caveat,cursive;color:#1a2a60;margin-top:14px}
.water{position:absolute;left:-10px;bottom:60px;width:190px;height:150px;border-radius:50% 60% 40% 55%;background:radial-gradient(ellipse at center,rgba(60,90,120,.10),rgba(60,90,120,.22) 70%,rgba(40,60,90,.35) 92%,transparent 100%);filter:blur(1px);pointer-events:none}
.print{position:absolute;right:120px;bottom:90px;width:54px;height:66px;opacity:.28;pointer-events:none;background:repeating-radial-gradient(ellipse at 50% 60%,#2a1d14 0 1px,transparent 1.5px 4px);border-radius:50% 50% 45% 45%;transform:rotate(-15deg);-webkit-mask-image:radial-gradient(ellipse at 50% 55%,#000 55%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 55%,#000 55%,transparent 72%)}
.blood{position:absolute;width:9px;height:9px;border-radius:50% 50% 50% 0;background:#6b0f12;opacity:.55;transform:rotate(-45deg);box-shadow:14px 10px 0 -3px #6b0f12,-8px 16px 0 -5px #6b0f12,26px -4px 0 -6px #6b0f12}
.sand{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(120,90,40,.5) .6px,transparent 1px);background-size:9px 11px;-webkit-mask-image:radial-gradient(ellipse at 20% 90%,#000 0,transparent 35%);mask-image:radial-gradient(ellipse at 20% 90%,#000 0,transparent 35%)}
/* newspaper */
.news{background:#ece6d6;color:#111;font-family:Georgia,"Times New Roman",serif;padding:28px 30px 36px;box-shadow:0 24px 50px rgba(0,0,0,.65);position:relative}
.news:before{content:"";position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 0'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>")}
.news .mast{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px double #111;padding-bottom:6px;margin-bottom:10px;font:700 12px Inter;letter-spacing:.2em}
.news .mast b{font:900 30px Georgia,serif;letter-spacing:.02em}
.news .mast{gap:12px}
@media (max-width:600px){.news .mast{flex-wrap:wrap;justify-content:center;text-align:center;gap:2px 14px;letter-spacing:.12em;line-height:1.5}.news .mast>span{flex:0 0 auto}}
.news h3{font-size:30px;line-height:1.02;margin:6px 0 10px;font-weight:900}
.news .lead{font-size:14px;font-style:italic;margin-bottom:10px}
.news .cols{columns:2;column-gap:18px;font-size:13px;line-height:1.5;text-align:justify}
.news .cols p{margin:0 0 8px}
.news .pic{break-inside:avoid;background:#555;height:120px;margin:6px 0;filter:grayscale(1) contrast(1.2);display:grid;place-items:center;color:#ccc;font:italic 11px Inter}
.news .cap{font:italic 11px Inter;color:#333}
/* handwritten */
.letter{background:#f7f1e3;color:#1d2a5e;font:500 19px/1.55 Caveat,cursive;padding:40px 42px;box-shadow:0 24px 50px rgba(0,0,0,.65);position:relative;background-image:linear-gradient(rgba(60,90,160,.16) 1px,transparent 1px);background-size:100% 29px}
.letter.torn{clip-path:polygon(0 0,100% 0,100% 96%,97% 100%,93% 97%,88% 100%,84% 97%,79% 100%,74% 97%,69% 100%,64% 97%,59% 100%,54% 97%,49% 100%,44% 97%,39% 100%,34% 97%,29% 100%,24% 97%,19% 100%,14% 97%,9% 100%,4% 97%,0 100%)}
.letter p{margin:0 0 12px}
.letter .r{text-align:right}
/* ledger / phone records */
.ledger{background:#f0ead8;color:#1d1814;font-family:"Courier Prime",monospace;font-size:12.5px;padding:30px 30px 40px;box-shadow:0 24px 50px rgba(0,0,0,.65);position:relative}
.ledger h6{font-size:14px;margin-bottom:4px;letter-spacing:.08em}
.ledger .sub{font-size:12px;margin-bottom:10px}
.ledger table{border-collapse:collapse;width:100%}
.ledger th,.ledger td{border:1px solid #6a5a44;padding:4px 6px;text-align:left}
.ledger th{background:rgba(0,0,0,.07);font-size:11.5px}
.ledger tr.hl td{background:rgba(212,32,47,.08)}
.ledger .hand{position:absolute}
.photoset{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.photoset figure{background:#fff;padding:8px 8px 26px;box-shadow:0 10px 24px rgba(0,0,0,.45);position:relative;transform:rotate(var(--r,-1deg))}
.photoset .ph{aspect-ratio:4/3;background:#3a3532;filter:grayscale(1) contrast(1.1);display:grid;place-items:center;color:#aaa;font:italic 12px Inter;text-align:center;padding:10px}
.photoset figcaption{position:absolute;bottom:6px;left:10px;font:700 13px Caveat,cursive;color:#222}
.ticket{background:#fbf6e3;color:#1d1814;font-family:"Courier Prime",monospace;font-size:12.5px;padding:18px;border:1px solid #c9b98f;position:absolute;width:250px;box-shadow:0 10px 24px rgba(0,0,0,.4);transform:rotate(-6deg)}
.ticket b{display:block;font-size:12px;letter-spacing:.1em;border-bottom:1px solid #1d1814;margin-bottom:6px;padding-bottom:3px}
.ticket .perf{border-top:2px dashed #999;margin:8px -18px 0;padding:8px 18px 0}
.receipt{background:#fcfaf2;color:#222;font-family:"Courier Prime",monospace;font-size:12px;padding:16px 18px;width:230px;box-shadow:0 10px 24px rgba(0,0,0,.4);position:absolute;transform:rotate(4deg);line-height:1.4}
.receipt .c{text-align:center;font-weight:700;margin-bottom:6px}
.receipt .row{display:flex;justify-content:space-between}
.map{background:#e9e3d0;padding:24px;box-shadow:0 24px 50px rgba(0,0,0,.65);position:relative;color:#1d1814;font-family:"Courier Prime",monospace}
.map svg{width:100%;height:auto;display:block}
.map h6{font-size:14px;letter-spacing:.08em;margin-bottom:8px}
.evbag{background:#e8e8e8;color:#111;padding:14px;font:600 12px Inter;border:2px solid #444;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.6)}
.evbag .head{background:#c0121f;color:#fff;padding:8px 10px;font:800 13px Inter;letter-spacing:.2em;margin:-14px -14px 12px}
.evbag .frm{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font:12px "Courier Prime",monospace}
.evbag .frm span{border-bottom:1px solid #777;padding-bottom:2px}
.evbag .frm span b{font:600 10px Inter;color:#555;display:block}
.evbag .win{margin-top:14px;background:#cfd6d9;border:1px solid #999;height:200px;display:grid;place-items:center;color:#556;font:italic 12px Inter}
.mobile-only{display:none}

.g21{grid-template-columns:2fr 1fr}.g11{grid-template-columns:1fr 1fr}
.tlform{display:grid;grid-template-columns:130px 1fr 110px auto;gap:6px;margin-bottom:16px}.tlform input{background:#0c0b0b;border:1px solid #3a3330;color:#fff;padding:9px;border-radius:4px;font-size:13.5px}
/* ---------- MOBILE */
@media (max-width:900px){.sheet table{display:block;overflow-x:auto;white-space:normal}.ledger .hand{position:static;display:block;margin-top:10px;transform:none}}

.tbx{margin-left:auto;display:flex;gap:8px;flex:none}.tbx .btn{padding:8px 12px;font-size:13px}
/* 2026-10-05: stamps never sit on top of text: own line, top-right (r) / after content (b, round) */
.sheet .stamp{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;display:table!important;margin:4px 4px 20px auto!important;max-width:100%}
.sheet .stamp.b,.sheet .stamp.round{margin:30px auto 6px 8px!important}
/* 17 Oct 2026: handwriting cells stay real table cells (an inline td broke the table into overlapping boxes);
   narrow ledgers (up to 3 columns) fit the phone instead of forcing a sideways scroll */
.docwrap .ledger td.hand{display:table-cell}
.docwrap .ledger table:not(:has(th:nth-child(4))){min-width:0}
