:root{--ink:#2b2118;--parchment:#e7d7ad;--gold:#b89455;--metal:#5d5a52;--red:#7a1c1c;--panel:#161512;--line:#8e7852}
/* Les règles de composant ne doivent jamais annuler l'attribut HTML hidden. */
[hidden]{display:none!important}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,input,select{font:inherit}button{cursor:pointer}
body{background:#17130e radial-gradient(circle at 50% 10%,#6c4e2b 0,#2b2218 35%,#0f0d0b 80%);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.72),transparent 20% 80%,rgba(0,0,0,.72)),radial-gradient(circle at 15% 58%,rgba(84,26,11,.5),transparent 32%),radial-gradient(circle at 86% 56%,rgba(51,71,34,.35),transparent 31%);mix-blend-mode:multiply}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.gate{position:relative;width:min(560px,100%);padding:44px 54px 40px;text-align:center;background:linear-gradient(rgba(239,224,185,.96),rgba(215,193,144,.96));border:13px ridge #675e4b;box-shadow:0 22px 80px #000, inset 0 0 40px #8d7445;border-radius:4px}.gate:after{content:"";position:absolute;inset:10px;border:1px solid #755f39;pointer-events:none}.gate__crest{width:74px;height:74px;margin:-85px auto 6px;display:grid;place-items:center;border-radius:50%;border:7px double #b59760;background:#1a1814;color:#d2b878;font-weight:bold;font-size:24px;box-shadow:0 5px 20px #000}.gate h1,.wordmark{font-family:Georgia,serif;font-variant:small-caps;letter-spacing:-2px;text-shadow:0 2px #d9bd77,2px 3px #1c130a}.gate h1{font-size:48px;margin:8px 0 0}.gate__subtitle{margin:0 0 24px;letter-spacing:5px;text-transform:uppercase;font-size:12px}.auth-tabs{display:flex;border-bottom:1px solid #8a7149;margin-bottom:20px}.auth-tab{flex:1;padding:10px;border:0;background:none}.auth-tab.is-active{background:#382b1d;color:#e7d3a3}.auth-form{display:grid;gap:15px;text-align:left}.auth-form label{display:grid;gap:5px;font-size:13px;font-weight:bold;text-transform:uppercase;letter-spacing:1px}.auth-form input,.auth-form select{width:100%;padding:10px 12px;border:1px solid #725c36;background:#fff8e6;color:#21170d}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ornate-button{position:relative;margin-top:8px;padding:12px 20px;border:4px double #ab8d55;background:linear-gradient(#3f372e,#171512);color:#f2e4c1;text-transform:uppercase;letter-spacing:1px;box-shadow:0 2px 5px #000}.error{min-height:20px;color:#8a1515;font-weight:bold}
.game-shell{position:relative;width:min(880px,100%);min-height:720px;margin:0 auto;padding-top:102px;background:linear-gradient(90deg,rgba(19,16,12,.55),transparent 18% 82%,rgba(19,16,12,.55)),radial-gradient(circle at 50% 0,#d7a45d22,transparent 45%);box-shadow:0 0 80px #000}.masthead{position:absolute;top:0;left:0;right:0;height:162px;z-index:3}.wordmark{text-align:center;color:#17110a;font-size:44px;line-height:58px;background:linear-gradient(#d8a55d,#f6d98b 50%,#6d3b1d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.main-nav{height:66px;display:flex;justify-content:center;gap:3px}.nav-gem{position:relative;width:66px;height:59px;border:7px ridge #8a8372;clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%);background:radial-gradient(circle,#51493e 0,#191918 58%,#8b8372 62%,#262522 75%);color:#c9b173;filter:drop-shadow(0 5px 2px #000)}.nav-gem span{font-size:24px}.nav-gem small{display:none}.nav-gem:hover,.nav-gem.is-active{background:radial-gradient(circle,#856b36,#1e1b16 58%,#c0a36a 62%,#262522 75%);transform:translateY(-2px)}.resource-bar{height:25px;margin:0 10px;display:flex;align-items:center;gap:12px;padding:0 9px;color:#eee3c8;background:linear-gradient(#544d40,#1f1e1b);border:3px ridge #827967;font:11px Arial,sans-serif}.resource-bar strong{color:white}.resource-bar button{margin-left:auto;background:none;border:0;color:#eee}.xp-resource{display:flex;align-items:center;gap:4px;flex:1}.xp-resource i{height:10px;flex:1;min-width:70px;background:#0d0d0c;border:1px solid #756e62}.xp-resource b{display:block;height:100%;width:0;background:linear-gradient(90deg,#90732b,#d4c47e)}
.frame{position:relative;z-index:2;display:grid;grid-template-columns:178px 1fr;margin:48px 10px 0;border:10px ridge #696257;background:#6a604c;min-height:510px;box-shadow:0 10px 30px #000}.side-menu{padding:16px 11px;background:linear-gradient(rgba(30,29,25,.93),rgba(15,15,13,.96)),repeating-linear-gradient(0deg,#38352e 0 1px,#171613 1px 7px);color:#e7d7ad;border-right:6px ridge #696257}.side-menu h2{font-size:17px;text-align:center;margin:0 0 13px;padding-bottom:9px;border-bottom:1px solid #77664a}.side-menu button{display:block;width:100%;padding:8px 5px;text-align:left;border:0;border-bottom:1px solid #413a2e;background:none;color:#d8c6a0;font-size:12px}.side-menu button:hover{color:white;background:#8d713522}.season-card{margin-top:20px;padding:11px;border:1px solid #6d5d42;background:#241f17;text-align:center}.season-card span{display:block;color:#d8b86d;font-weight:bold}.season-card small{display:block;margin-top:6px;color:#a99b80;font-size:10px}.parchment{min-width:0;padding:25px 28px 32px;background-color:var(--parchment);background-image:radial-gradient(circle at 20% 30%,#fff8dc55,transparent 30%),linear-gradient(90deg,#8a6c3c22,transparent 8% 92%,#8a6c3c22);box-shadow:inset 0 0 30px #a88952;min-height:490px}.panel-title{text-align:center;margin:0 0 18px;font-variant:small-caps;font-size:23px}.panel-title:before,.panel-title:after{content:'❦';margin:0 12px;color:#594529}.intro-letter:first-letter{float:left;font-size:58px;line-height:40px;padding:4px 8px 0 0;font-weight:bold}.notice{padding:13px;border:1px solid #9a8258;background:#c8b48655}.character-grid{display:grid;grid-template-columns:210px 1fr;gap:20px}.portrait{height:205px;border:8px ridge #716b60;background:linear-gradient(#b78851 0 38%,#4f6f48 39% 100%);position:relative;overflow:hidden}.portrait:before{content:'♟';position:absolute;inset:25px 0 0;text-align:center;font-size:170px;color:#241c18;text-shadow:4px 3px #7c5f49}.vitals{display:grid;gap:9px;margin-top:10px}.meter{position:relative;height:18px;border:4px ridge #716b60;background:#251c17}.meter b{display:block;height:100%;background:linear-gradient(#b93228,#6f140f)}.meter.morale b{background:linear-gradient(#457e9d,#173f5c)}.meter span{position:absolute;inset:0;text-align:center;color:white;font:10px Arial;line-height:10px}.stats{width:100%;border-collapse:collapse}.stats td{padding:5px 4px;border-bottom:1px dotted #947b52}.stats td:last-child{text-align:right;font-weight:bold}.ribbons{height:28px;margin-bottom:10px;background:linear-gradient(90deg,#9c392c 0 15%,transparent 15% 18%,#446b58 18% 33%,transparent 33% 36%,#8d6b22 36% 51%,transparent 51%);clip-path:polygon(0 0,100% 0,100% 70%,90% 100%,80% 70%,70% 100%,60% 70%,50% 100%,40% 70%,30% 100%,20% 70%,10% 100%,0 70%)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.card{padding:12px;border:1px solid #9c855e;background:#f3e5be88;box-shadow:inset 0 0 12px #9d825344}.card h3{margin:0 0 7px;font-size:16px}.card p{font-size:12px;line-height:1.45}.action-button{padding:7px 10px;border:3px double #9d8150;background:#302a23;color:#eadbb8}.action-button:disabled{opacity:.45;cursor:not-allowed}.job-row,.quest-row,.journal-row,.player-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid #a58d62}.job-row small,.quest-row small,.journal-row small{display:block;color:#6d5a3d}.map{position:relative;aspect-ratio:1/1;max-height:420px;margin:auto;background:#efe6c8;border:12px solid transparent;border-image:linear-gradient(45deg,#715f3e,#c4ab75,#715f3e) 20;clip-path:polygon(8% 0,32% 3%,55% 0,80% 4%,100% 14%,97% 35%,100% 60%,93% 83%,72% 100%,48% 97%,25% 100%,5% 90%,0 64%,4% 40%,0 20%)}.map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 30%,transparent 0 12%,#73835444 13% 15%,transparent 16%),repeating-radial-gradient(ellipse at 55% 58%,transparent 0 34px,#90806422 35px 36px)}.kingdom-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:none;color:#332719;font-size:26px;text-shadow:0 1px #fff}.kingdom-pin small{display:block;padding:2px 4px;background:#efe2ba;border:1px solid #8a744c;font-size:9px;white-space:nowrap}.game-footer{display:flex;justify-content:space-between;margin:8px 15px;color:#b7a58a;font:10px Arial}.toast{position:fixed;right:20px;bottom:20px;z-index:9;max-width:360px;padding:13px 18px;background:#211d17;color:#eadbb6;border:4px double #967b4a;box-shadow:0 8px 30px #000;opacity:0;transform:translateY(20px);transition:.2s}.toast.is-visible{opacity:1;transform:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.choice-card{padding:10px;border:1px solid #876d46;background:#efe0b8;color:#332719;text-align:left}.choice-card small{display:block;margin-top:4px;color:#715f43}.choice-card:hover,.choice-card.is-selected{background:#3b3024;color:#f0dfb7}.choice-card.is-selected small{color:#c9b98f}.inline-form,.chat-form{display:flex;gap:6px;margin:8px 0}.stack-form{display:grid;gap:9px}.stack-form label{display:grid;gap:3px}.inline-form input,.chat-form input,.chat-form select,.stack-form input,.stack-form select,.plot-variant{min-width:0;padding:7px;border:1px solid #89734e;background:#fff8e6}.chat-log{height:235px;overflow:auto;padding:8px;border:1px solid #99815a;background:#fff4d077}.chat-log p{margin:5px 0;font-size:12px}.chat-log small{color:#7d6745}.land-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:12px;background:linear-gradient(#59713d,#70864d);border:8px ridge #71664e}.land-cell{min-height:94px;padding:6px;border:1px solid #3e4c2b;background:radial-gradient(circle,#81975e,#566c3b);color:#231d13;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.land-cell.empty{opacity:.72}.land-cell.empty:hover{opacity:1;background:#91a96b}.land-cell.built{background:linear-gradient(#bda36c,#7e824e);box-shadow:inset 0 0 13px #3e482c}.module-icon{font-size:26px}.land-cell small{font-size:9px}.mini-button{padding:3px 5px;border:1px solid #715d3d;background:#342a1f;color:#eddbb3;font-size:10px}.market-row{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #a58d62}.market-row small{display:block;color:#725f40}dialog{max-width:600px;border:8px ridge #6d6251;background:#e8d8af;color:#2d2216;box-shadow:0 15px 60px #000}dialog::backdrop{background:#0009}code{padding:2px 5px;background:#2b241c;color:#ecd79e}
.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}.inventory-grid>div{display:flex;justify-content:space-between;padding:7px;border:1px solid #a58d62;background:#f1e1b788}.inventory-grid span{font-weight:bold;color:#72572f}
.institution-block{margin:18px 0;padding:14px;border:1px solid #9a8258;background:#f2e3bd66}.institution-block h2{margin-top:0}.institution-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.institution-card{display:flex;flex-direction:column}.institution-card p{flex:1}.office-list{margin:12px 0}.office-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:9px 3px;border-bottom:1px solid #a58d62}.office-row small{display:block;color:#6d5a3d}.action-button.danger{background:#4a211d}
.house-project{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;margin-bottom:12px}.house-project strong{grid-column:1/-1}.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-hunt{display:block;margin:0 auto 12px}
.siege-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}.siege-gallery figure{margin:0;padding:8px;background:#2a2117;border:1px solid #a98a50;box-shadow:0 2px 8px #0008}.siege-gallery img{display:block;width:100%;height:auto}.siege-gallery figcaption{text-align:center;color:#ead8a5;padding-top:6px;font-variant:small-caps}
.portrait-image{display:block;width:100%;height:205px;object-fit:cover;border:8px ridge #716b60;background:#8f7650}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.item-card{display:grid;grid-template-columns:54px 1fr auto;gap:9px;align-items:center;padding:9px;border:1px solid #9b8258;background:#f2e2b988}.item-card small{display:block;color:#705c3e}.item-visual{width:50px;height:50px;padding:4px;background:#d0bb86;border:4px ridge #75684f}.inventory-section{margin:18px 0}.inventory-section h2{border-bottom:1px solid #9b8258}.training-tier{margin:15px 0;border:1px solid #9b8258;padding:10px;background:#f4e6c277}.training-tier h3{margin-top:0}.recipe-row{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;padding:8px;border-bottom:1px solid #af9567}.recipe-row small{display:block;color:#715e42}.recipe-row.is-locked{opacity:.55}.recipe-form{display:flex;gap:5px}.recipe-form input{width:52px;padding:6px}.world-map,.realm-map{position:relative;max-width:700px;margin:15px auto}.world-map>img,.realm-map>img{display:block;width:100%;filter:drop-shadow(0 8px 7px #4b391f88)}.world-pin,.map-place{position:absolute;transform:translate(-50%,-50%);border:2px solid #584328;background:#ead8aa;color:#332719;box-shadow:0 2px 5px #0008;font-size:10px;font-weight:bold;padding:5px 7px}.world-pin:hover,.map-place:hover{z-index:5;background:#33281c;color:#f1deb0}.middle-pin{left:51%;top:50%;max-width:110px}.anesidore-pin{right:1%;bottom:1%;transform:none;background:#5b382b;color:#f2d5ab}.map-place{border:0;background:transparent;box-shadow:none;font-size:25px;padding:0}.map-place span{display:grid;width:42px;height:42px;place-items:center;border:4px ridge #72644e;background:#ead9ab;border-radius:50%;box-shadow:0 3px 7px #000}.map-place small{display:block;max-width:110px;padding:2px 4px;background:#ead9ab;border:1px solid #796341;font-size:9px}.npc-scene{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center}.npc-scene img{width:100%;border:8px ridge #72664f}.npc-scene blockquote{font-size:18px;font-style:italic;line-height:1.5}.quest-objective{margin:15px 0;padding:14px;border:2px solid #8c7249;background:#f6e8c4}.encounter-actions{display:flex;gap:10px;align-items:center}.quest-card{margin:10px 0;padding:12px;border:1px solid #9b8258;background:#f3e4bd88}.quest-card small{display:block}.quest-card.locked{opacity:.55}.quest-card.completed{border-left:6px solid #48663a}.subtabs{display:flex;margin-bottom:15px;border-bottom:2px solid #725d3b}.subtabs button,.category-filters button{padding:7px 10px;border:1px solid #8f754a;background:#d8c394}.subtabs button.is-active,.category-filters button.is-active{background:#342a20;color:#f0dfb8}.category-filters{display:flex;gap:4px;overflow-x:auto;margin-bottom:12px;padding-bottom:5px}.category-filters button{flex:0 0 auto;font-size:11px}.shop-grid{margin-top:14px}.danger-notice{border-color:#7d2a22;background:#c77b6a55}.player-contact{display:flex;justify-content:space-between;width:100%;padding:9px;border:0;border-bottom:1px solid #a58d62;background:transparent;text-align:left}.player-contact:hover,.player-contact.is-active{background:#3a2e21;color:#f0deb5}.private-log .is-mine{text-align:right;background:#bba16d33}
@media(max-width:700px){.game-shell{padding-top:88px}.wordmark{font-size:34px}.main-nav{overflow-x:auto;justify-content:flex-start;padding-left:7px}.nav-gem{flex:0 0 55px;width:55px;height:52px}.resource-bar{gap:7px}.resource-bar span:nth-child(2){display:none}.frame{grid-template-columns:1fr;margin-top:39px}.side-menu{display:none}.parchment{padding:20px 16px}.character-grid,.split,.equipment-layout{grid-template-columns:1fr}.portrait{max-width:240px}.two-cols{grid-template-columns:1fr}.gate{padding:38px 26px}.gate h1{font-size:39px}.land-grid{grid-template-columns:repeat(4,1fr)}.market-row{grid-template-columns:1fr auto}.body-paper{min-height:auto}}
.achievements{margin-top:1.25rem}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem}.achievement{border:1px solid #8c7041;background:#efe1bd;padding:.65rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:inset 0 0 0 2px #f8edcf}.achievement span{color:#6d4c1e;font-size:.78rem;font-weight:700}.achievement.is-locked{filter:grayscale(.8);opacity:.58}.achievement.is-unlocked{border-color:#9c7116;background:#f4df9f}
.place-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.place-action{display:block;padding:12px;border:1px solid #91774c;background:#f1e1b6;color:#332719;text-align:left}.place-action small{display:block;margin-top:5px;color:#756141}.place-action:hover:is(button){background:#372c20;color:#f1dfb7}
.bag-limit{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:0 0 12px;padding:8px 10px;border:1px solid #8f754b;background:#f5e7bf}.bag-limit span{height:13px;background:#3a2d20;border:1px solid #78603d}.bag-limit i{display:block;height:100%;background:linear-gradient(90deg,#6b8c46,#c0a04c,#8b2b22)}.item-actions{display:flex;flex-direction:column;gap:4px}.danger-mini{background:#5a211c}.level-note{padding:8px 10px;background:#f4e7c4;border-left:4px solid #9b7a40}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:7px;max-height:420px;overflow:auto}.level-card{padding:8px;border:1px solid #a58d62;background:#e6d2a1;opacity:.55}.level-card small{display:block;color:#725f40}.level-card.is-reached{opacity:1;background:#f3e3ba}.level-card.is-current{border-color:#6a4918;box-shadow:inset 0 0 0 2px #c49b4f}.equipment-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.body-paper{position:relative;min-height:480px;padding:12px;background:radial-gradient(ellipse at 50% 35%,#e8d4a0 0 22%,transparent 23%),linear-gradient(#b89c65,#e9d7aa);border:8px ridge #74664f}.body-paper:before{content:"";position:absolute;left:50%;top:76px;width:84px;height:270px;transform:translateX(-50%);background:linear-gradient(#5b4632,#2d241c);clip-path:polygon(34% 0,66% 0,76% 18%,68% 58%,86% 100%,14% 100%,32% 58%,24% 18%);opacity:.25}.body-slot{position:relative;z-index:1;margin:5px;padding:7px;border:1px solid #8f754b;background:#f7ebcae8;text-align:center}.body-slot strong,.body-slot small{display:block}.body-slot .item-visual{width:42px;height:42px}.online-dot:before,.offline-dot:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#3f8b39}.offline-dot:before{background:#8b342b}
.arcade-board,.chest-game,.maze-game,.lock-game,.word-game{min-height:250px;padding:22px;text-align:center;border:8px ridge #6d6250;background:radial-gradient(circle,#d9c793,#8c754b);box-shadow:inset 0 0 30px #392b1b88}.arcade-score{font-size:28px;font-weight:bold}.arcade-target{display:block;margin:35px auto 15px;width:76px;height:76px;border-radius:50%;border:6px ridge #756346;background:#ead8a7;font-size:38px;animation:target-drift 1.6s ease-in-out infinite alternate}.lock-game{display:flex;gap:14px;align-items:flex-end;justify-content:center;flex-wrap:wrap}.lock-game p{flex-basis:100%}.lock-pin{position:relative;width:48px;height:150px;border:5px ridge #706552;background:#332d25}.lock-pin i{position:absolute;left:8px;right:8px;bottom:8px;height:45px;background:#b99d61;border:3px ridge #71654d;transition:.25s}.lock-pin.up i{bottom:88px;background:#dac487}.chest-visual{font-size:100px;color:#6a4428;text-shadow:3px 4px #d4b67a}.chest-game input{width:90px;padding:9px;margin-right:8px}.maze-progress{font-size:20px;font-weight:bold}.maze-corridor{width:150px;height:100px;margin:18px auto;background:linear-gradient(135deg,#211b15,#796b54,#201a14);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}.maze-game button,.word-game button{min-width:34px;margin:3px;padding:6px;border:2px ridge #746850;background:#e6d19f}.memory-game{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:430px;margin:auto}.memory-card{aspect-ratio:1;border:6px ridge #74664d;background:#312a20;color:#d8bf82;font-size:30px}.memory-card.open{background:#ddc893;color:#2f261b}.word-mask{margin:20px;font-size:28px;font-weight:bold;letter-spacing:5px}@keyframes target-drift{from{transform:translateX(-110px) rotate(-8deg)}to{transform:translateX(110px) rotate(8deg)}}
.catch-game,.harpoon-game{min-height:320px;padding:18px;text-align:center;border:8px ridge #6d6250;background:radial-gradient(circle,#d9c793,#8c754b);box-shadow:inset 0 0 30px #392b1b88}.mini-hud{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;padding:6px 10px;border:1px solid #7c6645;background:#ead8a7}.catch-field,.fish-field{position:relative;height:250px;overflow:hidden;border:5px ridge #332a20;background:linear-gradient(#3d3124,#9f8a5e 70%,#5f4b2d)}.catch-field:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#0000 0 34px,#ffffff12 35px 36px)}.falling-apple,.basket,.harpoon,.swim-fish,.harpoon-bolt{position:absolute;transform:translate(-50%,-50%)}.falling-apple{font-size:26px}.basket{top:90%;font-size:42px;filter:drop-shadow(0 3px 2px #1c1309)}.fish-field{background:linear-gradient(#31465f,#557c8b 55%,#293e54)}.fish-field:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff16 0 2px,#0000 2px 34px)}.harpoon{top:10%;font-size:32px;z-index:3}.swim-fish{font-size:27px;z-index:2}.harpoon-bolt{width:3px;height:34px;background:#211711;border:1px solid #e0c483;z-index:4}.timing-lock{align-items:center}.timing-lock p{flex-basis:100%}.timing-pin{width:72px;height:185px;border:4px ridge #3a2d20;background:#2b231b;color:#ead8a7}.pin-track{position:relative;display:block;height:135px;margin:8px;background:#18130f;border:2px solid #7b6541}.pin-track i{position:absolute;left:14px;right:14px;height:22px;background:#b18b4c;border:2px ridge #dfc487}.pin-track em{position:absolute;left:5px;right:5px;bottom:68%;height:20%;background:#e4c86d55;border:1px solid #f8df8d}.timing-pin.locked .pin-track i{background:#f3d784}.real-maze{min-height:380px}.maze-grid{display:grid;gap:2px;max-width:480px;margin:14px auto;padding:8px;background:#201812;border:6px ridge #5f503a}.maze-cell{aspect-ratio:1;min-width:20px;display:flex;align-items:center;justify-content:center;font-size:16px}.maze-cell.wall{background:#2b241d;box-shadow:inset 0 0 6px #000}.maze-cell.path{background:#b69d6d}.maze-cell.hero{background:#f1d486;color:#2b1f14;font-weight:bold}.maze-cell.exit{background:#46663d;color:#f3e8c6;font-weight:bold}
.public-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;margin-top:8px}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.admin-form{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.admin-grid .stack-form button{grid-column:1/-1}.admin-grid h3{margin-bottom:6px}
.ux-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin:14px 0}.ux-dashboard article,.ux-panel{padding:11px;border:1px solid #94784d;background:#f4e6c277;box-shadow:inset 0 0 12px #9d825344}.ux-dashboard article{display:grid;gap:3px}.ux-dashboard strong{font-size:14px}.ux-dashboard small,.ux-kicker{color:#6f5b3b}.ux-kicker{display:block;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.08em}.ux-next{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin:14px 0;border-left:6px solid #7d5f25}.ux-next h2{margin:.15rem 0 .35rem;font-size:18px}.ux-next p{margin:.25rem 0;line-height:1.45}.quick-actions,.quest-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.map-coach{margin:8px 0 14px;padding:10px 12px;border:1px solid #94784d;background:#f5e8c466}.quest-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;margin:10px 0 12px}.quest-overview span{padding:8px;border:1px solid #9c855e;background:#f1e1b788;text-align:center}.quest-overview b{display:block;font-size:18px;color:#4b321b}.ux-quest.active{border-left:6px solid #7d5f25}.ux-quest.available{border-left:6px solid #496c7d}.ux-quest.locked{border-left:6px solid #8b8170}.ux-quest.completed{border-left:6px solid #48663a}
.recipe-row.is-ready{border-left:5px solid #48663a}.recipe-row.is-missing:not(.is-locked){border-left:5px solid #8a2b21}.recipe-row.is-missing .action-button:disabled{background:#5d5042}
@media(max-width:700px){.ux-next{grid-template-columns:1fr}.quick-actions .action-button,.quick-actions .mini-button{flex:1 1 140px;text-align:center}.quest-overview{grid-template-columns:repeat(2,1fr)}}
.parchment{background-image:radial-gradient(circle at 20% 30%,#fff8dc66,transparent 28%),radial-gradient(circle at 80% 15%,#8a6c3c18,transparent 24%),linear-gradient(90deg,#8a6c3c24,transparent 8% 92%,#8a6c3c24);border-left:1px solid #d9c38e;border-top:1px solid #f7eac6}.world-map,.realm-map{padding:10px;border:1px solid #8e744d;background:linear-gradient(#bea16533,#f3e4bd22);box-shadow:inset 0 0 24px #7a5d2b44,0 8px 18px #4b391f44}.world-map>img,.realm-map>img{border-radius:14px;filter:drop-shadow(0 10px 9px #3a2a1888) saturate(1.03) contrast(1.04)}.world-pin{border:2px solid #5b4428;background:linear-gradient(#f4e6bd,#c4a36a);box-shadow:0 2px 5px #0007,inset 0 0 0 1px #fff2;color:#2e2114;text-shadow:0 1px #fff4;border-radius:2px}.world-pin:before{content:"";display:block;width:8px;height:8px;margin:-10px auto 2px;border-radius:50%;background:#7d251f;border:1px solid #4a1d18;box-shadow:0 1px 2px #0008}.world-pin:hover{transform:translate(-50%,-52%) scale(1.05)}.anesidore-pin:hover{transform:scale(1.05)}.map-place span{background:radial-gradient(circle at 35% 28%,#fff0c4,#c9a66a 65%,#6f5838);border-color:#66543b;color:#261b11;text-shadow:0 1px #ffe8aa;box-shadow:0 4px 8px #0008,inset 0 0 0 2px #f8df9b55}.map-place small{margin-top:2px;background:#f1dfb3;color:#2f2418;border-color:#775f3d;box-shadow:0 2px 4px #0005}.map-place:hover span{background:radial-gradient(circle at 35% 28%,#fff3cc,#8b6735 70%,#33281c);color:#fff0c2}.item-card{background:linear-gradient(#f7e8c0,#e2c88f);box-shadow:inset 0 0 10px #fff4,0 2px 5px #60451f22}.item-visual{background:radial-gradient(circle at 35% 25%,#f4e4b7,#b99d66 70%,#6e5b40);border:4px ridge #69583f;filter:drop-shadow(0 2px 2px #3d2c1788)}.portrait-image,.npc-scene img{background:#6f5838;box-shadow:0 5px 12px #34220e66,inset 0 0 0 2px #f2dca666}.body-paper:before{opacity:.33;filter:drop-shadow(0 5px 5px #2b1d1099)}
.painted-world-map{max-width:820px}.painted-world-map>img{display:block;aspect-ratio:3/2;object-fit:cover}.painted-world-map .middle-pin{left:50%;top:48%}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:stretch;gap:10px}.shop-grid .item-card{grid-template-columns:56px minmax(0,1fr);grid-auto-rows:auto;align-content:start;min-height:118px;overflow:hidden;min-width:0}.shop-grid .item-card>*{min-width:0}.shop-grid .item-card strong{display:block;line-height:1.08;overflow-wrap:anywhere}.shop-grid .item-card small{line-height:1.12}.shop-grid .recipe-form{grid-column:1/-1;display:grid;grid-template-columns:58px minmax(84px,max-content);justify-content:start;align-items:center;gap:6px;margin-top:6px;max-width:100%}.shop-grid .recipe-form input{width:58px;min-width:0}.shop-grid .recipe-form .action-button{min-width:0;white-space:nowrap;padding-left:10px;padding-right:10px}
.item-card.is-contextual{cursor:context-menu}.item-card.is-contextual:hover{outline:2px solid #7b6137;box-shadow:inset 0 0 12px #fff7,0 0 0 3px #2e241733}.item-context-menu{position:fixed;z-index:1000;min-width:165px;padding:7px;border:4px double #8f7447;background:#261f17;color:#efddb5;box-shadow:0 10px 26px #0009}.item-context-menu strong{display:block;padding:4px 7px 7px;border-bottom:1px solid #6f5a38}.item-context-menu button{display:block;width:100%;padding:8px 9px;border:0;border-bottom:1px solid #4c3d27;background:transparent;color:#efddb5;text-align:left}.item-context-menu button:hover{background:#d1b06b;color:#24180f}.character-journal{margin-top:24px}.character-journal .journal-row:last-child{border-bottom:0}.prison-office strong{color:#7d251f}
.post-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.post-forms form{padding:11px;border:1px solid #9a8258;background:#f4e5be77}.post-forms h3{margin:0 0 8px}.postal-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 3px;border-bottom:1px solid #a58d62}.postal-row small{display:block;color:#6d5a3d}.postal-row:last-child{border-bottom:0}
.journal-note-form textarea{min-height:360px;padding:12px;border:1px solid #89734e;background:#fff8e6;color:#251a10;line-height:1.45;resize:vertical}
.zoom-region-map{max-width:none;width:100%;margin:0}.zoom-region-map>img{aspect-ratio:36/31;object-fit:cover}.zoom-region-map .map-place span{background:radial-gradient(circle at 35% 28%,#fff7cf,#c99f55 62%,#594426);border-color:#4d3920}.zoom-region-map .map-place small{font-size:9px;font-weight:bold}
.map-play-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:start}.map-action-panel{position:sticky;top:8px;min-height:auto;padding:9px;border:6px ridge #695b43;background:linear-gradient(#2f281f,#16130f);color:#ead9ad;box-shadow:inset 0 0 18px #000,0 6px 14px #4b391f55}.map-action-panel h2{margin:0 0 5px;font-size:16px;line-height:1.1;color:#f5dfaa}.map-action-panel p{margin:5px 0;font-size:12px;line-height:1.25;color:#cdbb92}.map-action-panel>small{display:block;margin-bottom:6px;color:#cdbb92;font-size:11px;line-height:1.2}.map-action-panel .place-menu{display:grid;grid-template-columns:1fr;gap:4px}.map-action-panel .place-action{width:100%;box-sizing:border-box;padding:6px 7px;background:#ead8aa;color:#2e2114;font-size:13px;line-height:1.1}.map-action-panel .place-action strong{display:block;line-height:1.05}.map-action-panel .place-action small{display:none}.map-action-panel .action-button{width:100%;margin:4px 0 6px;padding:6px 7px;font-size:12px}.map-action-panel .place-action:hover:is(button){background:#5b4428;color:#f4e4bd}.presence-row{display:block;margin-top:4px;padding-top:4px;border-top:1px solid #9a8055;font-size:12px}.player-map-marker{position:absolute;z-index:7;display:grid;place-items:center;width:30px;height:30px;transform:translate(-50%,-100%);border:3px ridge #f1d894;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff6c8,#9c2f20 65%,#35130d);color:#fff2c5;font-size:18px;box-shadow:0 3px 8px #000,inset 0 0 0 1px #fff6;pointer-events:none}.player-map-marker:after{content:"";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);border:6px solid transparent;border-top-color:#9c2f20}
@media(max-width:700px){.game-shell{width:100%;overflow-x:hidden}.masthead{overflow:hidden}.main-nav{max-width:100%;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;padding:0 7px 8px;box-sizing:border-box}.frame{margin:39px 6px 0;border-width:6px}.parchment{padding:18px 12px;overflow:hidden}.equipment-layout,.character-grid,.split,.admin-grid,.map-play-layout{grid-template-columns:1fr!important}.map-action-panel{position:relative;top:auto;min-height:auto}.body-paper{box-sizing:border-box;width:100%;max-width:100%;min-height:auto}.world-map,.realm-map{max-width:100%;overflow:hidden}.world-pin{font-size:8px;padding:3px 4px}.map-place span{width:34px;height:34px;font-size:18px}.map-place small{max-width:82px;font-size:8px}.shop-grid{grid-template-columns:1fr}.resource-bar{margin:0 6px;gap:6px;overflow:hidden;font-size:10px}.resource-bar span{white-space:nowrap}.xp-resource{flex:1 0 145px}.xp-resource i{min-width:62px}}
.game-shell{width:min(1180px,calc(100vw - 28px))}.frame{grid-template-columns:178px minmax(0,1fr);margin-left:6px;margin-right:6px}.parchment{padding:22px 24px 30px}.world-map{max-width:920px}.realm-map{max-width:none}.map-coach{margin-bottom:10px;padding:8px 10px}.panel-title{margin-bottom:14px}
@media(max-width:980px){.game-shell{width:100%}.map-play-layout{grid-template-columns:155px minmax(0,1fr);gap:8px}.map-action-panel{padding:7px}.map-action-panel .place-action{font-size:12px;padding:5px 6px}.parchment{padding:18px 16px}}
@media(max-width:700px){.game-shell{width:100%;overflow-x:hidden}.map-play-layout{grid-template-columns:1fr!important}.map-action-panel{position:relative;top:auto}.frame{margin-left:6px;margin-right:6px}.parchment{padding:18px 12px;overflow:hidden}}
.view-inner{width:100%;max-width:930px;margin:0 auto}.view-bag .view-inner,.view-equipment .view-inner,.view-home .view-inner,.view-market .view-inner,.view-admin .view-inner{max-width:1040px}.view-character .view-inner{max-width:940px}.view-character .character-grid{grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}.view-character .portrait-image{height:auto;aspect-ratio:1/1}.view-character .stats{font-size:15px}.view-character .stats td{padding:4px 7px}.view-character .stats td:first-child{width:38%;color:#5d4a2e}.view-character .ribbons{max-width:360px}.view-character .level-note{margin-top:10px}.view-character .subtabs{max-width:940px;margin-left:auto;margin-right:auto}.view-character .panel-title{margin-bottom:12px}.view-work .job-row,.view-quests .quest-card,.view-journal .institution-block,.view-institutions .institution-block,.view-post .institution-block,.view-private .notice,.view-friends .split,.view-private .split{max-width:930px;margin-left:auto;margin-right:auto}.view-market .split,.view-friends .split,.view-private .split{align-items:start}.view-admin .admin-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.view-admin .admin-form{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.view-bag .item-grid,.view-equipment .item-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.view-market .shop-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.view-home .land-grid{max-width:760px;margin:0 auto 14px}.view-map .panel-title{margin-bottom:12px}
@media(min-width:981px){.view-character .character-grid{min-height:330px}.view-character .character-journal{margin-top:18px}.view-work .view-inner,.view-quests .view-inner,.view-journal .view-inner,.view-institutions .view-inner,.view-post .view-inner,.view-private .view-inner,.view-friends .view-inner{max-width:960px}}
@media(max-width:700px){.view-inner,.view-bag .view-inner,.view-equipment .view-inner,.view-home .view-inner,.view-market .view-inner,.view-admin .view-inner,.view-character .view-inner{max-width:none}.view-character .character-grid{grid-template-columns:1fr}.view-character .portrait-image{max-width:260px}.view-character .ribbons{max-width:none}}
.view-inner{max-width:820px}.view-character .view-inner{max-width:760px}.view-character .character-grid{grid-template-columns:215px minmax(0,1fr);gap:22px}.view-character .portrait-image{max-width:215px;margin:0 auto}.view-character .vitals{max-width:215px;margin-left:auto;margin-right:auto}.view-character .stats{font-size:14px}.view-character .stats td{padding:3px 6px}.view-character .stats td:first-child{width:34%}.view-character .ribbons{height:24px;max-width:310px}.view-character .level-note{font-size:13px;line-height:1.25;padding:7px 9px}.view-character .character-journal{max-width:760px}.view-work .view-inner,.view-quests .view-inner,.view-journal .view-inner,.view-institutions .view-inner,.view-post .view-inner,.view-private .view-inner,.view-friends .view-inner{max-width:820px}.view-bag .view-inner,.view-equipment .view-inner,.view-home .view-inner{max-width:900px}.view-market .view-inner,.view-admin .view-inner{max-width:960px}.view-character .subtabs{max-width:760px}.view-character .panel-title{font-size:22px}
@media(max-width:700px){.view-inner,.view-character .view-inner,.view-work .view-inner,.view-quests .view-inner,.view-journal .view-inner,.view-institutions .view-inner,.view-post .view-inner,.view-private .view-inner,.view-friends .view-inner,.view-bag .view-inner,.view-equipment .view-inner,.view-home .view-inner,.view-market .view-inner,.view-admin .view-inner{max-width:none}.view-character .character-grid{grid-template-columns:1fr}.view-character .portrait-image,.view-character .vitals{max-width:260px}}
.item-visual{display:block;object-fit:contain}.item-image{image-rendering:auto}
