/* Shared reading area. Full-bleed admission scenes and collectible cards keep their geometry. */
@layer living {
 :root {
  --layout-max:1320px;--page-gutter:48px;--max:var(--layout-max);--gutter:var(--page-gutter);
  --inset-large:32px;--inset-medium:28px;--inset-small:22px;
  --portal-text:#e8e5de;--portal-muted:#bcc0c4;--portal-brass:#c5b18c;
  --portal-space:clamp(42px,5vw,68px);
 }
 #main .content-wrap{width:min(calc(100% - var(--page-gutter)*2),var(--layout-max));max-width:var(--layout-max);margin-inline:auto;min-width:0}
 #site-header .nav-wrap{width:min(calc(100% - var(--page-gutter)*2),var(--layout-max));max-width:var(--layout-max);padding-inline:0;margin-inline:auto;min-width:0}
 #site-footer{padding-inline:var(--page-gutter)}
 #main :is(.eco-page,.research-page,.characters-page,.directory-page,.profile-page,.archives-page){overflow-wrap:anywhere}
 #main :is(.eco-page,.research-page,.characters-page,.directory-page) :is(h1,h2,h3){text-wrap:pretty}
 #main :is(.terminal-heading,.academy-briefing,.directory-heading){padding:var(--inset-large)}
 #main :is(.cabinet-object,.directory-entry,.correspondence-envelope,.organization-card,.v2-org-card,.library-volume,.library-book,.forbidden-panel){padding:var(--inset-medium)}
 #main :is(.profile-grid>aside,.house-grid>div,.academy-notice){padding:var(--inset-medium)}
 #main :is(.research-filters,.research-policy,.research-assessment){padding:var(--inset-small)}
 /* Padded objects, not blanket padding on every section or on collectible card geometry. */
 #main :is(.forbidden-folio,.library-desk,.root-sheet,.root-auth-form,.root-recovery-help,.spirit-combat-sheet,.spirit-chronicle){padding:var(--inset-large)}
 #main :is(.research-reading,.forbidden-apparatus,.intelligence-records>article,.black-evidence>article){padding:var(--inset-medium)}
 #main .research-reading{background:linear-gradient(130deg,#2a292c99,#1c202666);box-shadow:inset 0 1px #e2d5bd12,0 15px 35px #0002}
 #main :is(.research-dossier,.forbidden-layout,.character-reading-layout,.intelligence-layout){column-gap:clamp(24px,3vw,44px)}
 #main :is(.emotion-page,.research-page,.character-profile,.root-page,.spirit-page) :is(p,dd,li){overflow-wrap:anywhere}
 #main :is(.emotion-page,.research-page,.characters-page) :is(input,select,textarea){min-width:0;max-width:100%}
 #main .root-page :is(.root-sheet,.root-auth-form) :is(input,textarea,select){max-width:100%}
 #main :is(.emotion-page,.characters-page,.research-page) h1{font-weight:550;letter-spacing:.025em}
 #main .emotion-page>section+section{margin-top:var(--portal-space)}
 #main .eco-page .terminal-heading{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:40px;margin:28px 0 24px;min-height:240px;background:radial-gradient(ellipse at 86% 12%,#bba47e12,transparent 55%),linear-gradient(112deg,#25272c,#191d24 68%,#1c2027);border:1px solid #d4bd981f;box-shadow:inset 0 1px #eee2ca0d,0 18px 40px #0002}
 .eco-page .terminal-heading:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.25;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 16px,#d9c8a707 17px,transparent 18px 56px)}
 .eco-page .terminal-heading>div{max-width:calc(100% - 160px);min-width:0}
 .eco-page .terminal-heading .eyebrow{font:12px/1.8 var(--font-body);letter-spacing:.035em;color:var(--portal-brass)}
 .eco-page .terminal-heading h1{font:550 clamp(32px,3.4vw,45px)/1.55 var(--font-title);letter-spacing:.035em;color:#f0ece3;margin:15px 0 14px}
 .eco-page .terminal-heading p{font:14px/1.9 var(--font-body);color:var(--portal-muted);margin:7px 0 0;max-width:44em}
 .eco-page .terminal-heading .terminal-owner-line{font-size:13px;color:#b8b6af}.terminal-owner-line strong{font-weight:500;color:#e6dbc6}
 .eco-page .terminal-heading .terminal-official-mark{width:116px;height:116px;flex:0 0 116px;opacity:.72;filter:drop-shadow(0 5px 4px #0008)}
 #main .eco-page .terminal-register{display:grid;grid-template-columns:1.08fr .92fr 1fr;gap:16px;padding:0;background:none;border:0;box-shadow:none;margin:0 0 26px}
 #main .terminal-register>div{position:relative;min-width:0;padding:var(--inset-medium);border:1px solid #c9b59024;box-shadow:inset 0 1px #fff6dd08,0 8px 20px #0001;background:linear-gradient(130deg,#24272b,#1a1e24);min-height:158px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
 #main .terminal-register>div:first-child{background:linear-gradient(130deg,#302e29,#202328);border-top-color:#c8b18a65}
 .terminal-register>div>span{font:12px/1.7 var(--font-body);color:#bfc0bd;letter-spacing:.025em}
 #main .terminal-register>div>strong{font:500 clamp(23px,2.2vw,30px)/1.5 var(--font-title);letter-spacing:.02em;color:#ebe3d4;margin:0;overflow-wrap:anywhere}
 #main .terminal-register>div:first-child>strong{font:400 clamp(28px,2.8vw,37px)/1.25 var(--font-index);letter-spacing:.05em;font-variant-numeric:tabular-nums;color:#e5d4b6}
 .terminal-register>div>a{font:12px/1.8 var(--font-body);color:#c4b391;margin-top:auto;min-height:24px}
 .terminal-register>div>small{font:11px/1.8 var(--font-body);color:#a8abae}
 .terminal-register .terminal-org-mark{position:absolute;right:22px;top:20px;width:32px;height:32px;opacity:.5}
 #main .eco-page .academy-briefing{margin:28px 0 var(--portal-space);background:linear-gradient(110deg,#232931,#1a2028);color:var(--portal-text);border:1px solid #b9c3cf20;box-shadow:inset 3px 0 #a5b3c13d,0 15px 35px #0002}
 .academy-briefing>header{display:block;margin:0 0 18px}.academy-briefing .eyebrow{font:12px/1.8 var(--font-body);color:#b9c8d6;letter-spacing:.025em}
 .eco-page .academy-briefing h2{font:550 clamp(24px,2.3vw,31px)/1.65 var(--font-title);color:#eae6de;margin:8px 0 0;letter-spacing:.02em}
 .eco-page .academy-briefing>p{font:14px/1.95 var(--font-body);color:#c0c6cb;margin:0 0 19px}
 .eco-page .academy-briefing ol{display:grid;grid-template-columns:1fr;list-style:none;padding:0;margin:0;border-top:1px solid #b8c4d222}
 .eco-page .academy-briefing li{display:flex;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid #b8c4d21c;background:none;min-width:0}
 .academy-briefing li>span{font:12px/1.8 var(--font-index);color:#a1aebc;width:22px;flex-shrink:0}
 .academy-briefing li>a{flex:1;min-width:0;display:block;color:#e4e4df}.eco-page .academy-briefing li strong{display:block;font:500 15px/1.8 var(--font-body);color:#e4e4df;margin:0 0 4px}
 .eco-page .academy-briefing li small{display:block;font:13px/1.85 var(--font-body);color:#aebac6}.academy-briefing li>i{font-style:normal;color:#9caebe;flex-shrink:0}
 .academy-briefing li a:hover strong{color:#e8cfaa}.academy-briefing li a:focus-visible{outline:2px solid #d2bb96;outline-offset:6px}
 .eco-page .academy-briefing>footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0 0;margin-top:0;border:0;font:12px/1.8 var(--font-body);color:#adb8c1}
 .briefing-status{display:grid;gap:4px}.briefing-status small{font-size:11px;color:#a6afb7}.academy-briefing>footer .button{flex-shrink:0;min-height:44px;color:#d4e0e8;border-color:#99b0c247;background:#c3d4e608;font:13px/1.7 var(--font-body);padding:10px 20px}
 .eco-page .terminal-columns{gap:24px}.eco-page :is(.terminal-growth,.terminal-dispatch,.terminal-attendance){padding:var(--inset-medium);color:var(--portal-text)}
 .eco-page :is(.terminal-growth,.terminal-dispatch,.terminal-attendance) p{font:14px/1.9 var(--font-body);color:#bbc0c5}.eco-page :is(.terminal-letter-entry,.terminal-cabinet-entry){padding:var(--inset-small)}
 .eco-page .terminal-side{gap:18px}.eco-page .terminal-case{padding:var(--inset-medium);gap:24px}.eco-page .terminal-case p{color:#bcc1c5;font-size:14px;line-height:1.9}
 .eco-page :is(.terminal-field,.terminal-forum,.terminal-network){margin-top:32px}.eco-page .terminal-field{padding:var(--inset-medium)}
 .eco-page .terminal-post{padding-block:20px}.eco-page .eco-data-note{line-height:1.9;color:#aeb4bb}
 /* Reading surfaces share safe geometry; admission scenes and card exports are untouched. */
 #main .c2-editor.content-wrap{max-width:960px}
 #main .c2-editor>header p{max-width:44em}
 .modal{min-width:0;max-height:min(90vh,calc(100dvh - 40px));padding:var(--inset-large);overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}
 .modal :is(input,textarea,select){min-width:0;max-width:100%;font-size:var(--type-body)}
 .modal h2{padding-right:20px}
 .modal-buttons{flex-wrap:wrap}
 .modal-buttons .button{white-space:normal;min-height:44px}
 @media(max-width:720px){.modal{padding:24px}.modal-buttons>.button{flex:1 1 150px}}
 @media(min-width:1440px){:root{--page-gutter:64px;--inset-large:40px}}
 @media(max-width:1024px){:root{--page-gutter:32px;--inset-medium:24px}.eco-page .terminal-heading{gap:24px}.eco-page .terminal-heading>div{max-width:calc(100% - 120px)}.eco-page .terminal-heading .terminal-official-mark{width:96px;height:96px;flex-basis:96px}}
 @media(max-width:720px){
  :root{--page-gutter:20px;--inset-large:32px;--inset-medium:24px;--inset-small:20px}
  #site-header .nav-wrap{gap:12px}.nav-actions{min-width:0}
  #main .eco-page .terminal-heading{display:block;min-height:0;padding:var(--inset-large);margin:22px 0 20px}
  .eco-page .terminal-heading>div{max-width:none}.eco-page .terminal-heading .eyebrow{display:block;padding-right:38px;font-size:11px}
  .eco-page .terminal-heading h1{font-size:clamp(27px,6.5vw,34px);margin-top:18px;letter-spacing:.02em}
  .eco-page .terminal-heading .terminal-official-mark{position:absolute;right:28px;top:27px;width:32px;height:32px;opacity:.7}
  .eco-page .terminal-heading p{font-size:13px;line-height:1.95}.eco-page .terminal-heading .terminal-owner-line{font-size:12px}
  #main .eco-page .terminal-register{grid-template-columns:1fr;gap:12px;margin-bottom:24px}
  #main .terminal-register>div{padding:var(--inset-medium);min-height:0;gap:9px}
  #main .terminal-register>div:first-child{grid-column:auto;padding:var(--inset-medium)}
  #main .terminal-register>div>strong{font-size:25px}.terminal-register>div>a{margin-top:2px}
  .eco-page .academy-briefing h2{font-size:25px}.eco-page .academy-briefing li{gap:15px;padding:18px 0}
  .eco-page .academy-briefing>footer{align-items:flex-start;flex-direction:column;gap:18px}.academy-briefing>footer .button{width:100%;justify-content:center}
  .eco-page .terminal-case{align-items:flex-start;flex-direction:column}.eco-page .terminal-columns{gap:24px}
  .eco-page :is(.terminal-growth,.terminal-dispatch,.terminal-attendance) .button{white-space:normal}
 }
 @media(max-width:600px){
  /* A book's spine must not take a third of the reading column on a small screen. */
  #main .library-volume{display:grid;position:relative;padding:var(--inset-medium);grid-template-columns:minmax(0,1fr) 44px;gap:12px 16px;align-items:center}
  .library-volume .library-spine{display:none}
  .library-volume>.spirit-sigil{right:auto;left:auto;top:auto;grid-column:2;grid-row:2;width:44px;opacity:.65}
  .library-volume>div:not(.library-volume-actions){display:contents}
  .library-volume>div:not(.library-volume-actions)>.research-index{grid-column:1;grid-row:1;padding:0}
  .library-volume h2{grid-column:1;grid-row:2;padding:0;margin:0}
  .library-volume p{grid-column:1/-1;grid-row:3;font-size:14px;line-height:1.95;max-width:none;margin:8px 0 0}
  .library-volume small{grid-column:1/-1;grid-row:4}
  .library-volume-actions{grid-column:1/-1;grid-row:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:10px}
  .library-volume-actions .button{font-size:13px;min-height:44px}
 }
 @media(max-width:420px){
  .eva-presence{display:block;position:relative;padding:var(--inset-medium)}
  .eva-presence>.eva-network-state{font-size:9px;letter-spacing:.08em;margin-bottom:22px;line-height:1.8}
  .eva-presence .eva-sigil{position:absolute;inset:76px 23px auto auto;width:44px;height:44px;margin:0}
  .eva-presence>.eva-name{display:block;font-size:11px;margin-bottom:9px}
  .eva-presence h1{max-width:calc(100% - 55px);font-size:25px;line-height:1.65;letter-spacing:.015em;margin:0 0 22px}
  .eva-presence h1 br{display:none}.eva-presence>dl{display:block;margin-top:20px}
  .eva-presence dl>div{display:flex;gap:12px;justify-content:space-between}.eva-presence dl>div:first-child{margin-bottom:6px}
 }
}
