:root{--paper:#f4efe5;--ink:#29211f;--muted:#756b64;--gold:#bf8a2e;--line:rgba(41,33,31,.18);--green:#173e35;--white:#fffdf8;--card:rgba(255,253,248,.78);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light}
html[data-site-theme=dark]{--paper:#080a0f;--ink:#f4eddf;--muted:#aaa296;--gold:#e0ad3f;--line:rgba(244,237,223,.18);--green:#d7a73f;--white:#11151d;--card:rgba(14,17,24,.82);color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 25% 15%,rgba(191,138,46,.12),transparent 30%),var(--paper);color:var(--ink)}
main{width:min(680px,calc(100% - 36px));margin:0 auto;padding:64px 0 80px}
.admin-main{width:min(1180px,calc(100% - 36px))}
.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
h1{margin:0;font-family:Georgia,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:400;line-height:.92}
.lead{margin:24px 0 36px;color:var(--muted);font-family:Georgia,serif;font-size:1.15rem;line-height:1.55}
.card{margin-top:24px;padding:26px;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,248,.72);box-shadow:0 18px 50px rgba(41,33,31,.06)}
label{display:block;margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
select,input,button{font:inherit}
select,input[type=text],input[type=password],input[type=datetime-local],textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink)}
textarea{resize:vertical;font:1rem ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5}
button{border:0;border-radius:7px;padding:13px 18px;background:var(--green);color:white;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
button.secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}
button:disabled{cursor:wait;opacity:.55}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.notice{min-height:1.4em;margin:14px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}
.error{color:#8a2f27}
.code{margin:18px 0 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(2.3rem,12vw,4.8rem);font-weight:800;letter-spacing:.16em;text-align:center;color:var(--green)}
.small{color:var(--muted);font-size:.82rem;line-height:1.5}
.hidden{display:none!important}
table{width:100%;border-collapse:collapse;font-size:.78rem}
th,td{padding:9px 7px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.table-wrap{overflow:auto;margin-top:18px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:600px){main{padding-top:38px}.card{padding:20px}.grid{grid-template-columns:1fr}}
.portal-body{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}
.portal-body::before{position:fixed;z-index:-2;inset:-18%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;content:"";mask-image:radial-gradient(ellipse at center,#000 0%,transparent 72%);transform:perspective(900px) rotateX(62deg) translateY(24%);transform-origin:center 64%}
.portal-body::after{position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 18% 24%,rgba(118,82,12,.13) 0 1px,transparent 1.5px),radial-gradient(circle at 76% 68%,rgba(23,21,16,.1) 0 1px,transparent 1.5px),radial-gradient(ellipse at center,transparent 48%,rgba(247,243,232,.72) 100%);background-size:37px 37px,53px 53px,100% 100%;content:"";pointer-events:none}
.portal-field{position:fixed;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}.portal-life{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none}
.portal-life::before{position:absolute;top:7%;left:8%;width:84vw;height:22vw;border:1px solid rgba(191,138,46,.2);border-radius:50%;content:"";filter:drop-shadow(0 0 18px rgba(191,138,46,.12));transform:rotate(-7deg);animation:portal-sweep 18s ease-in-out infinite alternate}
.portal-life::after{position:absolute;top:13%;left:50%;width:min(44vw,640px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(191,138,46,.13),rgba(191,138,46,.035) 34%,transparent 68%);content:"";filter:blur(6px);transform:translateX(-50%);animation:portal-breathe 8s ease-in-out infinite}
.portal-life i{position:absolute;display:block;border:1px solid rgba(41,33,31,.1);border-radius:50%;box-shadow:0 0 28px rgba(191,138,46,.07);animation:portal-drift 16s ease-in-out infinite alternate}
.portal-life i:nth-child(1){top:19%;left:9%;width:180px;height:180px}
.portal-life i:nth-child(2){right:7%;bottom:14%;width:260px;height:260px;animation-delay:-6s;animation-duration:21s}
.portal-life i:nth-child(3){bottom:-9%;left:33%;width:340px;height:190px;border-color:rgba(191,138,46,.13);animation-delay:-11s;animation-duration:24s}
@keyframes portal-sweep{to{transform:translateY(4vh) rotate(4deg) scale(1.04)}}
@keyframes portal-breathe{50%{opacity:.55;transform:translateX(-50%) scale(1.12)}}
@keyframes portal-drift{to{transform:translate(42px,-28px) rotate(14deg);opacity:.5}}
.portal-main{--box-w:min(380px,calc(100vw - 56px));--lockup-w:min(210px,calc(100vw - 130px));position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:0}
#codeBox{display:block;box-sizing:border-box;width:var(--box-w);height:50px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--white);color:var(--green);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1.45rem,5vw,1.95rem);font-weight:800;letter-spacing:.28em;text-align:center;text-transform:lowercase;caret-color:var(--gold)}
#codeBox:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
#codeBox:disabled{opacity:.6}
#codeBox::placeholder{color:var(--muted);opacity:.3}
.portal-notice{text-align:center}
.portal-lockup{position:fixed;z-index:2;top:28px;left:30px;display:block;width:var(--lockup-w);height:auto;margin:0;user-select:none}
html[data-site-theme=dark] .portal-lockup{filter:invert(1) grayscale(1) brightness(1.45)}
.portal-title{width:min(760px,calc(100vw - 32px));margin:0 0 36px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.3rem,4.6vw,4.2rem);font-weight:600;letter-spacing:-.025em;line-height:.9;text-align:center;text-transform:uppercase}
.portal-hint{margin:11px 0 0;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.72rem;letter-spacing:.035em;text-align:center}
@media(prefers-reduced-motion:reduce){.portal-life::before,.portal-life::after,.portal-life i{animation:none}}@media(max-width:600px){.portal-lockup{top:20px;left:20px;--lockup-w:min(172px,calc(100vw - 110px))}.portal-title{margin-bottom:31px}}

/* Public commerce follows the same visual system as the simulation portal. */
.commerce-body{min-height:100vh}
.commerce-home{position:relative;z-index:3}
.commerce-body .portal-lockup{width:min(210px,calc(100vw - 130px))}
.commerce-main{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;width:min(560px,calc(100% - 40px));min-height:100svh;margin:0 auto;padding:88px 0 46px}
.commerce-intro{text-align:center}
.commerce-intro .eyebrow{margin-bottom:18px}
.commerce-intro h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(3rem,8vw,5.4rem);font-weight:600;letter-spacing:-.055em;line-height:.88;text-transform:uppercase}
.commerce-lead{max-width:470px;margin:24px auto 0;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.9rem;line-height:1.55}
.commerce-card{margin-top:28px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 24px 70px rgba(41,33,31,.1);backdrop-filter:blur(16px)}
.commerce-theme{position:fixed;z-index:4;top:25px;right:28px;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:.62rem;letter-spacing:.1em}
.commerce-package{display:grid;grid-template-columns:1fr auto;gap:6px 18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line);font-family:Arial,Helvetica,sans-serif;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase}.commerce-package span{color:var(--muted)}.commerce-package strong{color:var(--gold);font-size:.72rem}
.commerce-card label{margin-bottom:11px;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.66rem;letter-spacing:.17em}
.commerce-select-wrap{position:relative}
.commerce-select-wrap::after{position:absolute;top:50%;right:16px;color:var(--gold);content:"↓";font-size:.9rem;pointer-events:none;transform:translateY(-50%)}
.commerce-card select{height:54px;padding:0 46px 0 15px;border:1.5px solid rgba(41,33,31,.2);border-radius:10px;background:var(--white);font-family:Arial,Helvetica,sans-serif;font-weight:600;appearance:none;outline:none}
.commerce-card select:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.commerce-meta{display:flex;align-items:start;justify-content:space-between;gap:18px;margin:12px 0 22px;color:var(--muted);font-size:.7rem}
.commerce-meta .notice{min-height:0;margin:0;font-size:inherit}
.commerce-meta span{flex:none;text-align:right}
.commerce-primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0 18px;border-radius:10px;background:var(--green);font-family:Arial,Helvetica,sans-serif;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.commerce-primary:hover{background:#205044;box-shadow:0 9px 24px rgba(23,62,53,.18);transform:translateY(-1px)}
.commerce-primary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.commerce-assent{margin:14px 2px 0;color:var(--muted);font-size:.67rem;line-height:1.55}.commerce-assent a{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--gold) 70%,transparent);text-underline-offset:2px}.commerce-assent a:hover{color:var(--gold)}
.commerce-status:empty{display:none}
.commerce-status{margin-bottom:0;text-align:center}
.commerce-code-card{padding:26px 30px 24px;border:1.5px solid var(--ink);border-radius:0;background-color:var(--card);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;box-shadow:10px 14px 0 color-mix(in srgb,var(--green) 12%,transparent);text-align:left}
.commerce-code-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.commerce-code-header .eyebrow{margin:0;color:var(--ink);font-size:1rem;letter-spacing:.08em}
.commerce-code-header>span{color:var(--gold);font-size:.64rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.commerce-code-label{margin:0 0 10px;color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.commerce-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.commerce-code-card .code{display:grid;place-items:center;min-width:0;min-height:70px;margin:0;padding:12px 16px;border:1.5px solid var(--gold);border-radius:0;background:var(--paper);font-size:clamp(1.75rem,7vw,2.45rem);letter-spacing:.22em;line-height:1;text-transform:lowercase}
.commerce-copy{min-width:138px;padding:0 22px;border:1.5px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font-size:.67rem;letter-spacing:.11em}
.commerce-copy:hover{background:var(--ink);color:var(--paper)}
.commerce-copy:focus-visible,.commerce-enter:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.commerce-enter{display:flex;align-items:center;justify-content:space-between;min-height:58px;margin-top:16px;padding:0 20px;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease}
.commerce-enter span{font-size:1.4rem;font-weight:400}
.commerce-enter:hover{box-shadow:6px 7px 0 color-mix(in srgb,var(--gold) 48%,transparent);transform:translate(-2px,-2px)}
.commerce-code-card .small{margin:17px 0 0;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:600px){.commerce-body .portal-lockup{width:min(152px,calc(100vw - 148px))}.commerce-theme{top:12px;right:14px;min-height:44px;padding-inline:9px;font-size:.55rem}.commerce-main{width:min(100% - 28px,560px);padding:72px 0 28px}.commerce-intro h1{font-size:clamp(2.8rem,16vw,4.3rem)}.commerce-card{margin-top:22px;padding:21px}.commerce-meta{display:block}.commerce-meta span{display:block;margin-top:5px;text-align:left}.commerce-code-card{padding:22px 18px}.commerce-code-header{align-items:flex-start}.commerce-code-header .eyebrow{font-size:.83rem}.commerce-code-row{grid-template-columns:1fr}.commerce-copy{min-height:48px}.commerce-enter{min-height:54px}}
