@font-face{font-family:Cinzel;src:url('/static/fonts/CinzelDecorative-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:Pixel;src:url('/static/fonts/PressStart2P-Regular.ttf') format('truetype');font-display:swap}
:root{--bg:#12251b;--surface:#1c3025;--stone:#18221e;--ink:#f3ead5;--muted:#c4ccb8;--gold:#e7b75a;--green:#8bc480;--paper:#ece0bd;--paper-ink:#30291e;--line:#47614c;--danger:#ffb5a9;--z-nav:20;--z-menu:30;--z-modal:40;--z-toast:50;color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:var(--gold);text-underline-offset:4px}a:hover{color:var(--ink)}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:Cinzel,Georgia,serif;line-height:1.2;text-wrap:balance;margin:0 0 20px}h1{font-size:clamp(2.3rem,5vw,4.5rem);font-weight:700;letter-spacing:-.025em}h2{font-size:clamp(1.8rem,3vw,2.8rem)}h3{font-size:1.35rem}p{margin:0 0 20px;max-width:70ch;text-wrap:pretty}small,.muted{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--paper-ink)}
.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section{padding-block:100px}.section-heading{max-width:700px;margin-bottom:40px}.section-heading p{color:var(--muted);font-size:1.1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;background:var(--gold);border:1px solid var(--gold);border-radius:3px;color:#242b1c;font-weight:750;text-decoration:none;box-shadow:0 4px 0 #906b2d;transition:transform .18s ease,background .18s ease}.button:hover{color:#172317;background:#f5c977;transform:translateY(-2px)}.button:active{transform:translateY(2px);box-shadow:0 2px 0 #906b2d}.button-secondary{background:transparent;border-color:#b6c3a8;color:var(--ink);box-shadow:none}.button-secondary:hover{background:var(--surface);color:var(--ink)}.button-small{min-height:44px;padding:8px 16px;font-size:.92rem}.text-button{background:none;border:0;color:var(--gold);padding:10px 0;min-height:44px;text-align:left;text-decoration:underline;text-underline-offset:4px}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.skip-link{position:fixed;top:-100px;left:12px;background:var(--gold);color:#172317;padding:12px;z-index:var(--z-toast)}.skip-link:focus{top:12px}
.site-header{height:88px;display:flex;align-items:center;gap:32px;padding-inline:max(30px,calc((100vw - 1240px)/2));background:#12251bf5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:var(--z-nav)}.brand{font-family:Pixel,monospace;font-size:1rem;white-space:nowrap;text-decoration:none;color:var(--gold);display:inline-flex;gap:12px;align-items:center}.brand>span{font-family:system-ui;font-size:1.7rem}.site-header nav{display:flex;gap:26px;margin-left:auto;align-items:center}.site-header nav a{color:var(--ink);font-size:.95rem;text-decoration:none;white-space:nowrap}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--gold)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--ink);min-width:44px;min-height:44px;border-radius:3px;font-size:1.3rem}
.world-hero{position:relative;min-height:720px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#12251b}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.world-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,15,.92),rgba(9,24,15,.74) 30%,rgba(9,24,15,.05) 75%);z-index:-2}.world-hero:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#12251b);z-index:-1}.hero-content{padding-block:80px;animation:arrive .65s ease-out}.hero-content h1{max-width:680px;font-size:clamp(2.8rem,5.1vw,4.8rem);margin:22px 0}.hero-content h1 em{font-style:normal;color:var(--gold)}.hero-content>p{font-size:1.15rem;max-width:46ch;color:#e0e5d3}.hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;color:#d0dcc3;font-size:.9rem}.world-label{display:inline-flex;gap:8px;align-items:center;color:#f3dfa9;font-size:.92rem}.hero-caption{position:absolute;right:35px;bottom:18px;color:#d5decb;font-size:.75rem}.server-strip{border-bottom:1px solid var(--line);padding-block:24px;background:#172b20}.server-strip .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center}.server-state{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-dot{width:10px;height:10px;background:var(--muted);border-radius:50%;display:inline-block}.status-dot.online{background:var(--green)}.online-names{font-size:.92rem;color:var(--muted)}.server-ip{font-family:monospace;font-size:1rem;color:var(--gold)}
.world-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}.world-layout .section-heading{margin-bottom:24px}.places{list-style:none;padding:0;margin:28px 0 0}.places li{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.places .emoji{font-size:1.7rem}.places strong{font-size:1.05rem}.places p{margin:4px 0 0;color:var(--muted);font-size:.95rem}.world-view{margin:0;position:relative}.world-view img{width:100%;aspect-ratio:1.2;object-fit:cover;border:8px solid #36412e;box-shadow:10px 10px 0 #0c1a12}.world-view figcaption{font-size:.82rem;color:var(--muted);margin-top:18px}.journey{background:var(--paper);color:var(--paper-ink);color-scheme:light}.journey .muted,.journey .section-heading p{color:#544c3b}.journey .paths{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.path{padding-top:26px;border-top:2px solid #8b754b}.path .emoji{font-size:2.4rem;display:block;margin-bottom:18px}.path p{color:#544c3b;margin:0}.path h3{font-size:1.5rem}.supplies{position:relative;min-height:510px;display:flex;align-items:center;background:#18221e;isolation:isolate;overflow:hidden}.supplies>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.supplies:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111f17ed,#111f17d4 35%,#111f1710 85%);z-index:-1}.supplies h2{max-width:500px}.supplies p{max-width:42ch;color:#e0e5d3}.new-in-world{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.news-list{margin:0;padding:0;list-style:none}.news-list li{border-bottom:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:40px 1fr;gap:16px}.news-list li:first-child{padding-top:0}.news-list .emoji{font-size:1.65rem}.news-list p{margin:6px 0 0;color:var(--muted)}.start-section{background:var(--stone);border-block:1px solid var(--line)}.start-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.steps{list-style:none;counter-reset:steps;padding:0}.steps li{position:relative;counter-increment:steps;padding:0 0 30px 56px}.steps li:before{content:counter(steps);position:absolute;left:0;top:0;width:34px;height:34px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-weight:750}.steps h3{font-family:inherit;font-size:1.05rem;margin:0 0 6px}.steps p{color:var(--muted);margin:0}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em;overflow-wrap:anywhere;background:#0d1d13;padding:3px 7px;border-radius:3px;color:var(--gold)}.login-box{background:var(--surface);border:1px solid var(--line);padding:36px}.login-box h2{font-size:1.8rem}.login-box p{color:var(--muted);font-size:.95rem}.field{margin-bottom:20px}.field label{display:block;margin-bottom:8px;font-weight:600}.field input,select,.search-input{width:100%;background:#112117;border:1px solid #809174;border-radius:3px;color:var(--ink);min-height:48px;padding:10px 14px}input::placeholder{color:#bdc6b3}.field-hint{display:block;font-size:.85rem;color:var(--muted);margin-top:7px}.form-error{color:var(--danger);min-height:26px;margin-top:14px;font-size:.95rem}.login-box .button{width:100%}.login-footnote{font-size:.85rem;margin:14px 0 0}
.page-intro{padding:64px 0 42px;border-bottom:1px solid var(--line);background:var(--stone)}.page-intro h1{font-size:clamp(2.2rem,4vw,3.5rem)}.page-intro p{font-size:1.1rem;color:var(--muted);margin:0;max-width:64ch}.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:.88rem;margin-bottom:24px;color:var(--muted)}.page-body{padding-block:44px 80px}.panel{background:var(--surface);padding:28px;border:1px solid var(--line);margin-bottom:28px}.panel h2{font-size:1.6rem}.panel h3{font-family:inherit;font-size:1.1rem}.reading{max-width:780px}.reading h2{font-size:1.8rem;margin-top:48px}.reading h3{margin-top:28px}.reading li{margin-bottom:12px}.reading p,.reading li{color:var(--muted)}.reading strong{color:var(--ink)}.toolbar{display:flex;gap:18px;justify-content:space-between;align-items:end;margin-bottom:28px}.toolbar .field{margin:0;max-width:500px;flex:1}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}caption{text-align:left;color:var(--muted);padding-bottom:15px}th{color:var(--muted);font-size:.87rem;font-weight:600;background:#17271d}td,th{padding:16px 20px;border-bottom:1px solid var(--line);white-space:nowrap}td:first-child{color:var(--gold)}tbody tr:hover{background:#223a2b}td a{color:var(--ink);font-weight:650}.number{text-align:right}.empty{padding:35px 20px;text-align:center;color:var(--muted)}.empty p{margin-inline:auto}.empty-symbol{font-size:3rem;display:block;margin-bottom:20px}.callout{background:#25372a;padding:22px 26px;border:1px solid var(--line);margin-block:24px}.callout p:last-child{margin:0}.guide-grid{display:grid;grid-template-columns:240px 1fr;gap:60px}.guide-nav{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:4px}.guide-nav a{padding:10px 14px;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line)}.guide-nav a:hover{color:var(--gold)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:650;min-height:32px}details p{margin:16px 0 0}.command-list{display:grid;grid-template-columns:180px 1fr;gap:12px 20px}.command-list dt{color:var(--gold)}.command-list dd{margin:0;color:var(--muted)}
.portal-shell{min-height:70vh}.portal-title{padding:40px 0;background:var(--stone);border-bottom:1px solid var(--line)}.portal-title .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.portal-title h1{font-family:inherit;font-size:2rem;margin-bottom:5px}.wallet{color:var(--gold);font-size:1.15rem;font-weight:650;display:flex;gap:18px;align-items:center}.portal-layout{display:grid;grid-template-columns:200px 1fr;gap:38px;padding-block:36px 80px}.portal-tabs{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:7px}.portal-tabs button,.portal-tabs a{background:none;border:0;border-radius:3px;text-align:left;color:var(--muted);min-height:46px;padding:10px 15px;text-decoration:none;font:inherit}.portal-tabs button:hover,.portal-tabs a:hover{background:var(--surface);color:var(--ink)}.portal-tabs button[aria-selected=true]{background:#314731;color:var(--gold);font-weight:650}.portal-content{min-width:0}.portal-content h2{font-family:inherit;font-size:1.65rem}.profile-summary{display:flex;flex-wrap:wrap;gap:40px;padding:0 0 26px;margin-bottom:32px;border-bottom:1px solid var(--line)}.profile-summary strong{display:block;font-size:1.8rem;color:var(--gold);font-weight:700}.profile-summary span{font-size:.9rem;color:var(--muted)}.skill-group{margin-bottom:32px}.skill-group h3{font-family:inherit;font-size:1.15rem;margin-bottom:15px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.skill{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:3px}.skill-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.skill-name{display:flex;gap:8px;align-items:center;font-size:.95rem}.skill-level{font-weight:700;color:var(--gold)}.skill small{font-size:.78rem;display:flex;justify-content:space-between;gap:8px;margin-top:8px}.progress{height:8px;background:#0d1e14;border-radius:2px;overflow:hidden;margin-top:12px}.progress>span{display:block;background:var(--green);height:100%;max-width:100%;transition:width .3s ease}.icon{width:1.1em;height:1.1em;vertical-align:-.15em;stroke:currentColor;fill:none;flex-shrink:0}.categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.category{border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);min-height:44px;padding:8px 15px}.category.active{background:var(--gold);border-color:var(--gold);color:#182719}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.item-card{background:var(--surface);border:1px solid var(--line);padding:22px;text-align:left;color:var(--ink);border-radius:3px;display:flex;flex-direction:column;gap:8px;transition:border-color .18s,transform .18s}.item-card:hover{border-color:var(--gold);transform:translateY(-3px)}.item-icon{font-size:2.4rem;line-height:1.4}.item-card strong{font-size:.95rem}.item-price{color:var(--gold);font-weight:700;margin-top:auto;padding-top:12px}.shop-notice{color:var(--muted);font-size:.92rem;margin-bottom:28px}.achievement-list{list-style:none;padding:0;margin:0}.achievement-list li{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.achievement-list .achievement-icon{font-size:1.6rem}.achievement-list strong{display:block}.achievement-list p{font-size:.92rem;color:var(--muted);margin:4px 0}.achievement-state{margin-left:auto;color:var(--muted);font-size:.85rem;white-space:nowrap}.achievement-state.unlocked{color:var(--green)}.badge{display:inline-block;font-size:.8rem;padding:4px 10px;border:1px solid var(--line);border-radius:3px}.badge-success{color:var(--green)}.badge-pending{color:var(--gold)}.purchase-dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;width:min(480px,calc(100% - 32px));padding:32px;max-height:85vh;overflow:auto}.purchase-dialog::backdrop{background:#07120dde}.purchase-dialog h2{font-family:inherit;font-size:1.5rem}.purchase-dialog .close-dialog{float:right;background:none;color:var(--muted);border:0;min-width:44px;min-height:44px;font-size:1.4rem;margin:-15px -15px 5px 5px}.purchase-dialog .price{font-size:1.4rem;color:var(--gold);margin-bottom:20px}.purchase-dialog .actions{margin-top:22px}.purchase-dialog .form-error{min-height:0}.player-heading{display:flex;align-items:center;gap:24px;margin-bottom:35px}.player-avatar{background:#314731;border:2px solid var(--gold);width:76px;height:76px;display:grid;place-items:center;font-family:Pixel;font-size:2rem;color:var(--gold)}.player-heading h2{margin:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.trophy-grid figure{margin:0}.trophy-grid figcaption{display:flex;justify-content:space-between;gap:10px;font-size:.85rem;margin-top:12px}.goal-row{padding:26px 0;border-bottom:1px solid var(--line)}.goal-heading{display:flex;justify-content:space-between;gap:20px}.goal-heading strong{font-size:1.1rem}.goal-row small{display:block;margin-top:9px}.goal-row.done .goal-heading strong{color:var(--green)}.reward-list{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px;padding:0;list-style:none}.reward-list li{flex:1;min-width:190px;border-top:2px solid var(--line);padding-top:18px}.reward-list li.earned{border-color:var(--green)}.reward-list strong{display:block;color:var(--gold)}.event-countdown{font-size:2rem;font-variant-numeric:tabular-nums;color:var(--gold)}.event-head{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.recent-event{padding:20px 0;border-bottom:1px solid var(--line);display:flex;gap:22px;align-items:center}.recent-event p{margin:0}.recent-event time{font-size:.85rem;color:var(--muted)}.skeleton{height:110px;background:#223a2b;animation:breathe 1.3s ease-in-out infinite alternate}.load-error{padding:25px;border:1px solid #a57a5a;background:#302c21;color:var(--ink)}.load-error button{margin-top:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:16px 22px;max-width:calc(100% - 32px);width:max-content;background:var(--paper);color:var(--paper-ink);border-radius:3px;z-index:var(--z-toast);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.site-footer{background:#0d1d14;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;padding-block:60px 40px}.footer-main p{color:var(--muted);font-size:.9rem;margin:20px 0 0}.footer-main nav{display:flex;flex-direction:column;gap:12px}.footer-main a:not(.brand){font-size:.92rem;color:var(--muted);text-decoration:none}.footer-main a:hover{color:var(--gold)}.footer-connect{display:flex;flex-direction:column;align-items:start;font-size:.9rem;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:22px;color:#b4c1aa;font-size:.78rem}.footer-bottom a{color:inherit}
@keyframes arrive{from{opacity:.6;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{to{opacity:.5}}
@media(min-width:1700px){.world-hero{min-height:820px}}
@media(max-width:1100px){.site-header{gap:20px;padding-inline:25px}.site-header nav{gap:18px}.brand{font-size:.85rem}.wrap{width:calc(100% - 60px)}.world-layout{gap:35px}.world-hero{min-height:660px}.hero-content h1{max-width:580px}.guide-grid{gap:30px;grid-template-columns:200px 1fr}.start-layout{gap:40px}.footer-main{gap:30px}.portal-layout{grid-template-columns:180px 1fr;gap:24px}}
@media(max-width:850px){.site-header{height:76px;gap:14px}.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;padding:20px 30px;background:#172b20;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;z-index:var(--z-menu)}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0}.world-hero{min-height:680px}.hero-art{object-position:60% center}.world-hero:before{background:linear-gradient(90deg,#09180feb,#09180fa8 60%,#09180f44)}.hero-content h1{font-size:3.8rem;max-width:620px}.world-layout{grid-template-columns:1fr;gap:40px}.world-view img{aspect-ratio:1.7}.journey .paths{gap:25px}.new-in-world,.start-layout{gap:40px;grid-template-columns:1fr 1.2fr}.guide-grid{grid-template-columns:1fr}.guide-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:10px}.guide-nav a{padding:8px 0;margin-right:14px}.portal-layout{grid-template-columns:1fr}.portal-tabs{position:static;flex-direction:row;flex-wrap:wrap;gap:5px;padding-bottom:18px;border-bottom:1px solid var(--line)}.portal-tabs button,.portal-tabs a{font-size:.9rem}.section{padding-block:70px}.footer-main{grid-template-columns:1fr 1fr}.footer-connect{grid-column:1/-1;flex-direction:row;align-items:center;gap:24px}.two-columns{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{padding-inline:18px;gap:10px}.brand{font-size:.74rem;gap:6px}.brand>span{font-size:1.4rem}.portal-link{font-size:.8rem;padding:8px 10px}.menu-toggle{min-width:40px}.world-hero{min-height:700px;align-items:flex-end}.hero-art{object-position:64% center}.world-hero:before{background:linear-gradient(0deg,#09180ff5,#09180fc9 60%,#09180f22)}.hero-content{padding:150px 0 70px}.hero-content h1{font-size:clamp(2.5rem,10vw,3.4rem);max-width:390px}.hero-content>p{font-size:1rem;max-width:35ch}.hero-content .actions{gap:12px}.hero-content .button{padding-inline:16px;font-size:.93rem}.hero-meta{gap:12px;font-size:.8rem}.hero-caption{font-size:.65rem;bottom:10px;right:18px}.server-strip .wrap{flex-direction:column;align-items:start;gap:10px}.online-names{font-size:.8rem}.server-state{font-size:.95rem}.section{padding-block:58px}.section-heading{margin-bottom:26px}.world-layout{gap:28px}.world-view img{aspect-ratio:1.3;box-shadow:6px 6px 0 #0c1a12}.journey .paths{grid-template-columns:1fr;gap:32px}.path{display:grid;grid-template-columns:45px 1fr;gap:0 16px;padding-top:24px}.path .emoji{grid-row:1/3;font-size:2rem;margin:0}.path h3{font-size:1.3rem;margin-bottom:10px}.supplies{min-height:540px;align-items:flex-end}.supplies:before{background:linear-gradient(0deg,#111f17f5,#111f17c9 65%,#111f1733)}.supplies .wrap{padding-block:150px 40px}.supplies>img{object-position:60% center}.supplies h2{font-size:2rem}.new-in-world,.start-layout{grid-template-columns:1fr;gap:30px}.new-in-world .section-heading{margin:0}.login-box{padding:26px}.footer-main{grid-template-columns:1fr;gap:32px;padding-block:42px}.footer-connect{flex-direction:column;align-items:start;gap:6px;grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.page-intro{padding:36px 0 30px}.page-intro h1{font-size:2rem}.page-intro p{font-size:1rem}.page-body{padding-block:28px 55px}.panel{padding:20px;margin-bottom:20px}td,th{padding:13px 14px}.table-scroll{margin-inline:-5px}.toolbar{flex-direction:column;align-items:stretch}.toolbar .field{max-width:none}.profile-summary{gap:22px}.profile-summary strong{font-size:1.5rem}.portal-title .wrap{align-items:start;flex-direction:column;gap:15px}.wallet{font-size:1rem}.portal-title h1{font-size:1.65rem}.portal-tabs{gap:2px}.portal-tabs button,.portal-tabs a{padding:10px}.portal-layout{padding-top:20px}.skills-grid{grid-template-columns:1fr}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-card{padding:15px;min-width:0}.item-card strong{font-size:.86rem;overflow-wrap:anywhere}.item-icon{font-size:2rem}.item-price{font-size:.92rem}.achievement-list li{gap:12px;flex-wrap:wrap}.achievement-state{margin-left:42px}.command-list{grid-template-columns:1fr;gap:6px}.command-list dd{margin-bottom:14px}.purchase-dialog{padding:25px}.goal-heading{font-size:.9rem}.goal-heading strong{font-size:1rem}.player-avatar{width:60px;height:60px;font-size:1.5rem}.guide-nav{gap:0}.guide-nav a{font-size:.9rem}.reading h2{font-size:1.5rem}.event-countdown{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* KLPScape medieval game skin. Original textures come from our own resource pack. */
:root{--bg:#1b190f;--surface:#2a281c;--stone:#211f17;--ink:#f3e6ca;--muted:#cfbea1;--gold:#e9b95a;--green:#9bbf80;--line:#75633f;--paper:#e9d7a7;--paper-ink:#352719}
body{background-image:linear-gradient(#19180ff0,#19180ff0),url('/static/art/stone_bricks-v21.png');background-size:auto,128px;image-rendering:auto}
.game-icon{display:inline-block;width:1.4em;height:1.4em;vertical-align:-.3em;flex-shrink:0;fill:none;overflow:visible;filter:drop-shadow(1px 2px 0 #100b08)}
.icon{width:1.3em;height:1.3em;filter:drop-shadow(1px 1px 0 #100b08)}
.site-header{height:90px;background-color:#2b2116;background-image:linear-gradient(#251b13bb,#251b13bb),url('/static/art/spruce_planks-v21.png');background-size:auto,192px;border-bottom:3px solid #9d793c;box-shadow:inset 0 -5px #100e09,0 5px 0 #080d08}
.site-header:before,.site-header:after{content:'';position:absolute;width:7px;height:7px;background:#b99a60;border:2px solid #4a341b;top:39px;pointer-events:none}.site-header:before{left:12px}.site-header:after{right:12px}
.brand{font-size:1rem;letter-spacing:-.02em;text-shadow:2px 2px 0 #171006}.brand .game-icon{width:34px;height:34px}.brand>span{display:flex}
.site-header nav a{padding:12px 0;text-shadow:1px 2px #130e08}.site-header nav a:hover{color:#ffe0a1}.site-header nav a .game-icon{margin-right:4px}
.button{background-color:#7d532a;background-image:linear-gradient(#62411be6,#4a3019e6),url('/static/art/oak_planks-v21.png');background-size:auto,128px;color:#fff0c4;border-color:#bc934c;box-shadow:inset 2px 2px 0 #c09550,inset -2px -2px 0 #3a2512,0 4px 0 #0f0b06;text-shadow:1px 2px #24160b;border-radius:2px;padding-inline:24px}
.button:hover{background-color:#9f733b;color:#fff5d7;background-image:linear-gradient(#80602be6,#62451be6),url('/static/art/oak_planks-v21.png');filter:brightness(1.1)}.button:active{box-shadow:inset 2px 2px 0 #3a2512,inset -2px -2px 0 #b78d47}
.button-secondary{background-color:#292c24;background-image:linear-gradient(#292c24cc,#171c17cc),url('/static/art/stone_bricks-v21.png');border-color:#9a997d;box-shadow:inset 2px 2px 0 #676b58,inset -2px -2px 0 #141811,0 4px 0 #0f0b06;text-shadow:1px 2px #11180c}
.button-secondary:hover{background-color:#393a2a;background-image:linear-gradient(#393a2acc,#24261ccc),url('/static/art/stone_bricks-v21.png')}.button-small{padding:8px 16px}
.world-hero{background:#171e13;min-height:750px;border-bottom:4px solid #78613a}.world-hero:after{inset:70% 0 0;background:linear-gradient(transparent,#151e11)}
.hero-content h1{font-family:Cinzel,Georgia,serif;line-height:1.12;font-size:clamp(2.8rem,5.1vw,4.8rem);text-shadow:3px 4px 0 #171008,0 1px 8px #13170e;font-weight:800}.hero-content h1 em{color:#f3c463}.hero-content>p{text-shadow:1px 2px #0b140b}.world-label{font-family:Pixel,monospace;font-size:.62rem;color:#ffe2a0;text-shadow:2px 2px #15130b;line-height:1.9}
.hero-meta{color:#ebd9aa}.hero-meta>span{display:flex;align-items:center;gap:7px}.hero-meta .game-icon{width:20px;height:20px}
.hero-seal{position:absolute;right:42px;top:35px;width:95px;height:95px;display:grid;place-items:center;transform:rotate(8deg);pointer-events:none;opacity:.85}.hero-seal .game-icon{width:70px;height:70px;filter:drop-shadow(3px 4px 0 #171008)}
.embers{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.ember{position:absolute;bottom:0;left:var(--x);width:var(--size);height:var(--size);background:#eab64b;box-shadow:0 0 7px #e49a3c;opacity:0;animation:ember-rise var(--duration) linear var(--delay) infinite;will-change:transform,opacity}
.hero-rune{position:absolute;width:44px;height:44px;opacity:.45;filter:drop-shadow(0 0 7px #52c6de);animation:rune-drift 7s ease-in-out infinite;pointer-events:none}.hero-rune:nth-of-type(2){animation-delay:-3s}.hero-rune .game-icon{width:100%;height:100%}
.server-strip{background-image:linear-gradient(#211b12cc,#211b12cc),url('/static/art/spruce_planks-v21.png');background-size:auto,192px;border-bottom:2px solid #6e542c;box-shadow:inset 0 2px #9d793c,inset 0 -4px #131008}.server-dot{box-shadow:0 0 5px #90c977}
.world-view{padding:10px;background-image:url('/static/art/spruce_planks-v21.png');background-size:128px;border:2px solid #8b6d3a;box-shadow:inset 2px 2px 0 #a4864a,inset -2px -2px 0 #151008,5px 6px 0 #100e08}.world-view:before,.world-view:after{content:'';position:absolute;width:9px;height:9px;border:2px solid #21180e;background:#b3965c;top:4px}.world-view:before{left:4px}.world-view:after{right:4px}.world-view img{border:2px solid #21190f;box-shadow:none;aspect-ratio:1.2;height:auto}.world-view figcaption{background:#211a12;padding:12px;font-size:.78rem;margin:8px 0 0;color:#e1cda3}
.places li{border-color:#6b5735}.places .emoji{width:38px;display:flex;align-items:start}.places .emoji .game-icon{width:38px;height:38px}.section h2{color:#f2dbab;text-shadow:2px 3px 0 #171008}.journey{position:relative;box-shadow:inset 0 5px 0 #8e6f39,inset 0 -5px 0 #8e6f39;border-block:4px solid #21190f}.journey h2{color:#4a3019;text-shadow:1px 1px #fff3c9}.journey .path{border-color:#806334}.path .emoji .game-icon{width:48px;height:48px;filter:drop-shadow(1px 2px 0 #99804b)}.journey .path h3{color:#4a3019}.supplies{border-block:4px solid #6e542c}.supplies h2{text-shadow:2px 3px 0 #171008}.new-in-world .news-list .emoji .game-icon{width:36px;height:36px}
.start-section,.page-intro,.portal-title{background-color:#211b13;background-image:linear-gradient(#211b13e8,#211b13e8),url('/static/art/stone_bricks-v21.png');background-size:auto,128px;border-color:#79603a}.page-intro{position:relative;border-bottom:3px double #8f7140}.page-intro h1{color:#f2dbab;text-shadow:2px 3px 0 #100d08}.page-intro h1>.game-icon{width:52px;height:52px;vertical-align:-.25em;margin-right:10px}.portal-title p{color:#d9bc7c}.login-box{position:relative;background:#2c2418;border:3px double #a7874c;box-shadow:inset 0 0 0 4px #17130d,5px 6px 0 #100d08}.login-box:before,.login-box:after{content:'';position:absolute;width:9px;height:9px;background:#b3955b;border:2px solid #4a341b;top:7px}.login-box:before{left:7px}.login-box:after{right:7px}.login-box h2 .game-icon{width:30px;height:30px}.field input,select,.search-input{background:#15190f;border-color:#8b7951;box-shadow:inset 2px 2px 0 #0d1008;color:#f2e7ce}.field input::placeholder{color:#cdbd9f}.steps li:before{background:#3d301a;box-shadow:inset 2px 2px #7c633a,inset -2px -2px #171008}
.panel{background:#2c281b;border:2px solid #74613d;box-shadow:inset 0 0 0 3px #19190f}.panel h2 .game-icon{width:32px;height:32px;margin-right:7px}.skill{background:#2a2b1d;border:1px solid #7c714b;box-shadow:inset 2px 2px #4c4c32,inset -2px -2px #11180e}.progress{background:#12150d;border:1px solid #6b5c3b;height:10px;border-radius:0}.progress>span{background:#a2bb6d;box-shadow:inset 0 2px #c4d18b}.portal-tabs button[aria-selected=true]{background:#514427;color:#ffe0a0;box-shadow:inset 2px 2px #938051,inset -2px -2px #17170c}.portal-tabs .game-icon{width:23px;height:23px;margin-right:8px}.shop-grid{background:#15190f;padding:16px;border:3px double #a38950;gap:10px}.item-card{background:#2f3020;border:1px solid #7b7751;box-shadow:inset 2px 2px #565b37,inset -2px -2px #0e170a;border-radius:0}.item-card:hover{border-color:#e9b95a;background:#3d3d24}.item-icon{display:flex;justify-content:center;align-items:center;min-height:70px;align-self:stretch;background:#1d2415;border:1px solid #545c37}.item-icon .icon{width:52px;height:52px;filter:drop-shadow(3px 4px 0 #101509)}.item-price .icon{width:22px;height:22px}.category{background:#282719;border-color:#8b7549;box-shadow:inset 1px 1px #534b2d,inset -1px -1px #11140b}.category.active{background:#735a2b;color:#fff0c4;border-color:#e9b95a}.price .icon{width:46px;height:46px}.achievement-icon .icon{width:34px;height:34px}.empty-symbol .icon{width:72px;height:72px}.purchase-dialog{background:#2c281b;border:4px double #b09451;box-shadow:inset 0 0 0 4px #12160c}.purchase-dialog::backdrop{background:#0b1109e8}th{background:#332d1c;color:#e0ca9e}td,th{border-color:#6b5c3b}tbody tr:hover{background:#3c3d25}.player-avatar{background:#433d23;border-color:#b99a59}.reward-list li.earned{background:#2d3520;padding:18px}.site-footer{background-image:linear-gradient(#18150eec,#18150eec),url('/static/art/spruce_planks-v21.png');background-size:auto,192px;border-top:3px solid #70552c}.footer-main .brand{color:#edc677}
@keyframes ember-rise{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}15%{opacity:.7}75%{opacity:.5}100%{opacity:0;transform:translate3d(var(--drift),-560px,0) rotate(150deg)}}
@keyframes rune-drift{0%,100%{transform:translateY(0) rotate(-6deg);opacity:.3}50%{transform:translateY(-14px) rotate(6deg);opacity:.6}}
@media(max-width:1100px){.site-header{gap:18px}.brand{font-size:.85rem}.hero-seal{right:30px;top:25px}.site-header nav{gap:18px}}
@media(max-width:850px){.site-header{height:80px}.site-header nav{top:80px;background:#2b2116;border-color:#9d793c}.site-header nav a{padding:12px 0}.site-header:before,.site-header:after{display:none}.world-hero{min-height:680px}.brand{font-size:.8rem}.world-view img{aspect-ratio:1.7}.portal-tabs button,.portal-tabs a{display:flex;align-items:center}.hero-seal{width:65px;height:65px}.hero-seal .game-icon{width:50px;height:50px}}
@media(max-width:600px){.site-header{height:76px;gap:8px}.site-header nav{top:76px}.brand{font-size:.68rem;gap:5px}.brand .game-icon{width:25px;height:25px}.portal-link{padding:8px 9px;font-size:.78rem}.portal-link .game-icon{width:19px;height:19px}.button{padding-inline:17px}.world-hero{min-height:700px}.hero-content h1{font-size:clamp(2.4rem,10vw,3.3rem)}.world-label{font-size:.48rem;max-width:300px}.hero-content .actions .button{font-size:.85rem}.hero-seal{right:18px;top:22px}.hero-seal .game-icon{width:44px;height:44px}.hero-rune{width:27px;height:27px}.hero-meta{gap:14px;font-size:.75rem}.world-view img{aspect-ratio:1.3}.world-view{padding:8px;box-shadow:3px 4px 0 #100e08}.path .emoji .game-icon{width:38px;height:38px}.page-intro h1>.game-icon{width:38px;height:38px;margin-right:5px}.shop-grid{padding:10px;gap:10px}.item-card{padding:12px}.item-icon{min-height:65px}.item-icon .icon{width:48px;height:48px}.item-price .icon{width:18px;height:18px}.portal-tabs .game-icon{width:21px;height:21px;margin-right:6px}.panel{padding:22px}.footer-main .brand{font-size:.9rem}.footer-main .brand .game-icon{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.ember,.hero-rune{display:none}.hero-content{animation:none}}

@media(max-width:600px){.menu-toggle{min-width:44px;min-height:44px}}

/* One official identity for the website and the native Minecraft HUD. */
.brand .official-logo{width:215px;height:auto;max-height:70px;object-fit:contain;filter:drop-shadow(2px 3px 0 #100c08)}
.site-footer .brand .official-logo{width:240px;max-height:85px}
@media(max-width:1100px){.brand .official-logo{width:180px}}
@media(max-width:600px){.brand .official-logo{width:135px;max-height:54px}}

/* Native city photographs, captured from the playable map. */
.city-tour{padding-top:0}.city-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.city-gallery figure{margin:0;border:1px solid #756039;background:#141711;box-shadow:0 10px 24px #0005}.city-gallery img{width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;display:block}.city-gallery figcaption{padding:18px;color:var(--muted);font-size:.9rem}.city-gallery figcaption strong{display:block;font-family:Cinzel,Georgia,serif;color:#edd6a5;font-size:1.4rem;margin-bottom:6px}.city-travel-tip{margin-top:24px;color:var(--muted)}@media(max-width:760px){.city-gallery{grid-template-columns:1fr}.city-gallery img{aspect-ratio:16/10}}
/* Expanded player guide: tables scroll inside the parchment, and its index stays reachable. */
.guide-grid>.reading{min-width:0}.guide-nav{max-height:calc(100dvh - 140px);overflow-y:auto}@media(max-width:850px){.guide-nav{max-height:none;overflow:visible}}

/* Three worlds: real in-game photography and player-facing destinations. */
.realm-tour{padding-top:0}.realm-card{min-width:0;border:1px solid #756039;background:#141711;box-shadow:0 10px 24px #0005}.realm-photo{display:block;overflow:hidden;outline-offset:5px}.realm-photo img{transition:transform .25s ease}.realm-photo:hover img{transform:scale(1.025)}.realm-copy{padding:24px}.realm-copy h3{font-size:1.45rem;color:#edd6a5;margin:10px 0 14px}.realm-copy p{color:var(--muted);font-size:.95rem;line-height:1.7}.realm-copy code{display:inline-block;margin:0 4px 6px 0}.realm-copy>a{display:inline-block;padding-block:10px}.realm-copy .world-label{font-size:.7rem;letter-spacing:.08em}.realm-travel-note{display:flex;align-items:flex-start;gap:16px;border-block:1px solid var(--line);margin-top:30px;padding:20px 0;color:var(--muted)}.realm-travel-note .game-icon{flex-shrink:0;margin-top:5px;color:var(--gold)}.realm-travel-note p{margin:0;max-width:85ch}.activity-tour{padding-top:0;scroll-margin-top:110px}.realm-tour{scroll-margin-top:110px}@media(min-width:761px) and (max-width:1050px){.realm-gallery{grid-template-columns:1fr 1fr}.realm-gallery .realm-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.realm-gallery .realm-card:last-child .realm-photo img{height:100%;aspect-ratio:auto}}@media(prefers-reduced-motion:reduce){.realm-photo img{transition:none}.realm-photo:hover img{transform:none}}

.capture-note{max-width:78ch;color:var(--muted);font-size:.9rem;line-height:1.7;margin:0 0 28px}.city-gallery img{aspect-ratio:16/9;object-fit:contain}.city-gallery figure>a{display:block;outline-offset:5px}.city-scenes{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.city-scenes summary{cursor:pointer;padding:12px 0;color:var(--gold)}.city-scenes[open] summary{margin-bottom:16px}.city-scenes .city-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.city-scenes .city-gallery{grid-template-columns:1fr}}

.pack-preview{display:block;width:100%;height:auto;border-radius:8px}.reading figure{margin:24px 0}.reading figcaption{margin-top:8px;color:var(--muted);font-size:.9rem}.reading .loot-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain;outline-offset:4px}

/* The fifth navigation link uses the compact menu before the header can crowd. */
@media(min-width:851px) and (max-width:1100px){.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:90px;left:0;right:0;margin:0;padding:20px 30px;background:#172b20;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;z-index:var(--z-menu)}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0}}
/* Native photo dialog: keep galleries in the page, with keyboard focus restored. */
.viewing-photo{overflow:hidden}.photo-viewer{width:min(1250px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:18px;background:#191b12;color:var(--ink);border:3px double #b69b5f;box-shadow:6px 7px 0 #070906}.photo-viewer::backdrop{background:#030806e8}.photo-viewer[open]{display:grid;gap:14px;overflow:auto}.photo-viewer header{display:flex;justify-content:space-between;align-items:center;gap:20px}.photo-viewer h2{margin:0;font:700 1.2rem Cinzel,Georgia,serif}.photo-viewer>img{display:block;max-width:100%;max-height:calc(100dvh - 210px);width:auto;height:auto;object-fit:contain;justify-self:center}.photo-viewer p{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0;max-width:90ch}.photo-viewer button{flex-shrink:0;min-height:44px}@media(max-width:600px){.photo-viewer{padding:12px;width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.photo-viewer h2{font-size:1rem}.photo-viewer p{font-size:.8rem}.photo-viewer>img{max-height:calc(100dvh - 220px)}}
