@font-face{font-family:Pixel;src:url('/assets/PixelifySans.ttf');font-weight:400 700;font-display:swap}:root{--ink:#222c34;--night:#171f26;--panel:#24313a;--cream:#f1e9cd;--paper:#e8ddbc;--faded:#8b957f;--gold:#e1b35c;--gold-light:#f7d58c;--line:#414d53;--red:#dd8b76;font-family:Arial,sans-serif;font-size:16px;color:#e7e6dc;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--night);overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:2px solid #111b22;border-radius:0;background:#33434b;color:#eee9d8;padding:10px 15px;box-shadow:inset 0 2px #53616a,0 2px #101920;font-family:Pixel,monospace;font-size:16px;line-height:1.15}button:hover{background:#465a63}button:active{transform:translateY(1px);box-shadow:inset 0 1px #53616a}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6bb62;outline-offset:3px}a{color:var(--gold)}[hidden]{display:none!important}canvas,img{image-rendering:pixelated}.primary{background:var(--gold);color:#292a25;box-shadow:inset 0 3px var(--gold-light),inset 0 -3px #b28840,3px 3px #101b20;font-weight:700}.primary:hover{background:#f0c97b}.overline{display:block;font:12px Pixel;letter-spacing:1.6px;text-transform:uppercase;color:#9eabaf}.topbar{height:72px;display:flex;align-items:center;gap:45px;padding:0 24px;background:#172129;border-bottom:3px solid #0f171c;box-shadow:inset 0 -1px #4a5455;position:relative;z-index:4}.wordmark{border:0;background:none!important;box-shadow:none;display:flex;align-items:center;gap:10px;font-size:30px;letter-spacing:2px;font-weight:700;padding:0;color:#f5d17d}.block-mark{background:#e2b660;color:#172129;line-height:1;width:28px;height:30px;display:grid;place-items:center;font-size:29px;box-shadow:3px 3px #836b41}.alpha{font:10px Arial;letter-spacing:1.6px;color:#819096;margin:3px 0 0 3px}.topbar nav{display:flex;align-items:center;gap:8px}.topbar nav button{box-shadow:none;background:none;border-color:transparent;color:#a8b5b8;padding:9px 11px}.topbar nav button:hover,.topbar nav .nav-active{background:#2b3d47;color:#f2d492;border-color:#47575e}.accountbar{margin-left:auto;display:flex;align-items:center;gap:17px}.accountbar>span{font-size:12px;color:#91a5a6}.accountbar>b{font:21px Pixel;color:#e8c477;white-space:nowrap}.accountbar>b small{font:10px Arial;color:#879998;letter-spacing:1px;margin-left:5px}.profile-button{display:flex;align-items:center;gap:8px;background:none;box-shadow:none;border-color:#36464e;padding:1px 9px 1px 0;font-size:16px}.profile-button canvas{width:37px;height:39px;background:#384e49}.gear{width:34px;height:35px;padding:4px;font-size:23px}#game{height:calc(100dvh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 288px;grid-template-rows:minmax(0,1fr) 78px;padding:10px;gap:10px;background:#101b20}.viewport{position:relative;min-height:0;overflow:hidden;border:2px solid #58654f;box-shadow:0 0 0 2px #071319;background:#448d97}#world{display:block;width:100%;height:100%;touch-action:none;outline:none}.area-plaque{position:absolute;left:22px;top:20px;border-left:4px solid #d8b675;background:#17272ed9;padding:12px 16px;box-shadow:3px 3px #10232a55;pointer-events:none}.area-plaque .overline{font-size:10px;color:#b8c7ae;letter-spacing:2px}.area-plaque strong{font:28px Pixel;color:#f3e6bb;display:block;margin:4px 0;line-height:1}.area-plaque>span:last-child{font-size:12px;color:#b6c6af}.map-corner{position:absolute;right:17px;top:16px;width:126px}#map-toggle{padding:5px;background:#1f3136;border:2px solid #8b9973;box-shadow:3px 3px #14262c55}#minimap{width:112px;height:94px;display:block}.map-buttons{display:flex;gap:4px;margin-top:5px}.map-buttons button{padding:2px;height:28px;flex:1;font-size:18px;background:#253b40d9}.world-controls{position:absolute;bottom:15px;right:17px;display:flex;align-items:center;gap:6px;font-size:11px;color:#e1e6cc;text-shadow:1px 1px #203b2b;pointer-events:none}kbd{font:11px Pixel;background:#213138;border:1px solid #7c8a75;padding:2px 5px;color:#e4dbaa}.journal{grid-row:1/3;grid-column:2;background:var(--paper);color:var(--ink);border:2px solid #a6946b;box-shadow:inset 0 3px #fcf5da;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;scrollbar-color:#a08f66 #ded0aa}.journal-head{padding:23px 19px 19px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b8aa83}.journal-head .overline{font-size:10px;color:#80734e;letter-spacing:2px}.journal-head strong{font:28px Pixel;display:block;margin-top:5px}.chapter-number{font:33px Pixel;color:#bbaa7b;border-left:1px solid #c1b28c;padding-left:14px}.journal-tabs{display:flex;padding:0 12px;border-bottom:1px solid #bcac86;background:#d7caa5}.journal-tabs button{flex:1;border:0;background:none;box-shadow:none;padding:12px 0;color:#807354;font-size:15px}.journal-tabs button.selected{color:#35392b;box-shadow:inset 0 -3px #807b45}#journal-body{padding:22px 18px}.quest-chapter{font:12px Pixel;letter-spacing:1px;color:#87794e}.quest-heading{font:29px Pixel;line-height:1.05;margin:10px 0 12px;font-weight:600}.quest-description{font-size:13px;line-height:1.6;color:#6e6b55;margin:0 0 19px}.quest-objective{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;background:#dacda8;border:1px solid #bcad82;padding:12px;margin-top:16px}.quest-objective:before{content:'';width:12px;height:12px;border:2px solid #8a8459;flex-shrink:0;margin-top:3px}.quest-progress{height:8px;background:#b6aa82;border:1px solid #998d66;margin:18px 0 9px}.quest-progress>i{display:block;height:100%;background:#5d7954}.quest-meta{display:flex;justify-content:space-between;font:12px Pixel;color:#7b704b}.journal .primary,.light-button{border-color:#96865e;background:#5a6d4e;color:#f4f0d9;box-shadow:inset 0 2px #8c9b6a,0 2px #a99a73}.journal .primary:hover,.light-button:hover{background:#6d805b}.full{width:100%;margin-top:18px}.journal-foot{margin-top:auto;padding:17px 18px;background:#d9cba5;border-top:1px solid #baaa7d}.journal-foot .overline{font-size:9px;letter-spacing:1px;color:#867952}.journal-foot strong{font:22px Pixel;display:block;margin-top:7px}.journal-foot p{font-size:12px;line-height:1.5;color:#747056;margin:8px 0 12px}.journal-foot button{width:100%;padding:9px;font-size:15px}.save-note{padding:12px 18px;font-size:10px;color:#8b805d;background:#d1c39d}.actionbar{grid-row:2;display:flex;align-items:center;justify-content:center;gap:8px;background:#1a2a32;border:2px solid #41514f;padding:8px 20px;box-shadow:inset 0 2px #536259}.actionbar button{position:relative;display:flex;align-items:center;gap:10px;min-width:117px;justify-content:center;padding:10px;height:54px;background:#2a3d45;border-color:#10212b;box-shadow:inset 0 2px #54676b,0 2px #10212b}.actionbar button:hover{background:#3d5559}.actionbar b{font:16px Pixel;font-weight:400}.actionbar [data-art]{width:25px;height:27px;display:grid;place-items:center}.actionbar img{width:100%;height:100%;object-fit:contain}.actionbar kbd{position:absolute;top:2px;right:3px;font-size:8px;border:0;background:none;padding:0;color:#859893}.actionbar .glyph{font-size:22px;font-family:Pixel;color:#dbc585}.chat{position:absolute;bottom:18px;left:20px;width:298px;background:#16292dda;border:1px solid #668073;color:#bfcebe;box-shadow:3px 3px #15322a33}.chat>button{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid #526957;box-shadow:none;background:#213d37aa;padding:7px 11px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#d1c68e}#chat-lines{padding:8px 11px;font-size:11px;line-height:1.5;max-height:84px;overflow:auto}#chat-lines p{margin:2px 0}#chat-lines b{color:#ddce93;font-weight:400}.chat form{display:flex;padding:5px;border-top:1px solid #526957;gap:5px}.chat input{width:0;flex:1;background:#12262a;border:1px solid #537065;color:#e1e5d3;padding:6px;font-size:12px}.chat form button{padding:5px;font-size:12px}#context-hint{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#172a2de0;border:1px solid #a7a274;font-size:12px;pointer-events:none;max-width:85%;text-align:center;display:none;color:#f4edcb}#context-hint.show{display:block}#toast{position:absolute;top:24px;left:50%;transform:translateX(-50%);background:#e6d5a2;border:2px solid #555d41;box-shadow:3px 3px #1a2b25;color:#354031;font:17px Pixel;padding:12px 19px;max-width:80%;z-index:6;display:none}#toast.show{display:block}.home-toolbar{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;background:#1b2b30ee;padding:7px;border:2px solid #8e8e60;max-width:96%;white-space:nowrap}.home-toolbar>b{font:11px Pixel;color:#c6c791;padding:0 10px}.home-toolbar button{font-size:13px;padding:8px}.placement-bar{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#ebddb8;color:#334132;border:2px solid #999465;padding:8px 12px;z-index:5}.placement-bar span{font:16px Pixel}.placement-bar button{font-size:13px;padding:6px}.touch-pad{display:none;position:absolute;bottom:25px;right:16px;grid-template-columns:repeat(3,40px);gap:4px}.touch-pad button{width:40px;height:40px;padding:3px;background:#29413ddf;color:#e8d58d}.touch-pad button:first-child{grid-column:2}.touch-pad button:nth-child(2){grid-column:1}.touch-pad button:last-child{grid-column:2}
/* A game-native portal with one clear entry point. */
#launcher{position:fixed;inset:72px 0 0;z-index:3;display:flex;align-items:center;pointer-events:none;background:linear-gradient(90deg,#12222bdf,#15282d44 58%,transparent)}.launch-card{pointer-events:auto;width:430px;margin-left:6vw;background:#e9dfbf;color:#27362e;padding:33px 35px 27px;border:3px solid #a1946c;box-shadow:inset 0 4px #fff6d6,7px 7px #132b2b99;clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}.launch-edition{font:11px Pixel;letter-spacing:1.6px;color:#85774c}.launch-card h1{font:58px/.95 Pixel;margin:24px 0 22px;font-weight:700;letter-spacing:-1px;color:#263d33}.launch-card>p{font-size:15px;line-height:1.7;color:#6e705c;margin-bottom:24px}.launch-actions{display:grid;gap:10px}.launch-actions .primary{font-size:21px;padding:15px;background:#557047;color:#faf0c8;border-color:#3a4e31;box-shadow:inset 0 3px #869667,inset 0 -3px #3c5536,3px 3px #b6aa83}.launch-actions>button:last-child{background:#ded1aa;color:#6b6b50;border-color:#b1a17a;box-shadow:inset 0 2px #f2e8c6;font-size:15px;padding:11px}.launch-save{font-size:11px;line-height:1.5;color:#8d825f;margin-top:15px}.launch-divider{height:1px;background:#c5b78e;margin:22px 0 18px}.launch-features{display:flex;justify-content:space-between;gap:12px}.launch-features div{max-width:92px}.launch-features b{font:18px Pixel;color:#a7945b;display:block;margin-bottom:5px}.launch-features span{font:15px Pixel;color:#61694f}.launch-caption{position:absolute;right:5vw;bottom:15vh;text-align:right;color:#f4e3aa;text-shadow:2px 2px #254535}.launch-caption span{font:12px Pixel;letter-spacing:3px;color:#d5dcba}.launch-caption strong{display:block;font:48px Pixel;margin:10px 0}.launch-caption small{font:15px Pixel;color:#ccd5af}.launch-bottom{position:absolute;bottom:0;left:0;right:0;height:52px;display:flex;align-items:center;gap:25px;background:#18272bea;border-top:1px solid #65786d;padding:0 30px;pointer-events:auto}.launch-bottom>span{font:11px Pixel;color:#8ea49b;letter-spacing:2px;margin-right:auto}.launch-bottom button{border:0;box-shadow:none;background:none;color:#afbdad;padding:4px;font-size:13px}.at-launch #game{height:calc(100dvh - 72px);display:block;padding:0}.at-launch .viewport{height:100%;border:0;box-shadow:none}.at-launch .viewport>*:not(#world){display:none!important}.at-launch .journal,.at-launch .actionbar{display:none}
/* Shared parchment panels. */
dialog{background:var(--cream);color:var(--ink);border:3px solid #aaa079;border-radius:0;box-shadow:0 0 0 2px #172a2c,8px 8px #13262ba8;padding:0;width:min(830px,calc(100vw - 30px));max-height:88dvh;color-scheme:light}dialog::backdrop{background:#0a1c27b5}dialog>header{background:#d8caa3;border-bottom:2px solid #aa9b72;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;box-shadow:inset 0 3px #f9edca}dialog header .overline{font-size:11px;color:#8a7d58;letter-spacing:1.6px}dialog h2{font:35px Pixel;margin:6px 0 0;line-height:1.1;color:#344338}#close-panel{width:35px;height:35px;padding:0;background:#bcac82;border-color:#867b57;box-shadow:inset 0 2px #e1d4ae;color:#4f5640;font:28px Pixel}#panel-body{padding:24px 26px;max-height:calc(88dvh - 115px);overflow:auto;scrollbar-width:thin;scrollbar-color:#bbaa80 #e9dfbf}.panel-lead{font-size:15px;line-height:1.6;color:#77725c;margin:0 0 21px}.panel-tabs{display:flex;gap:7px;margin-bottom:20px;flex-wrap:wrap}.panel-tabs button{background:#d9cda9;color:#797150;border-color:#b7a87d;box-shadow:inset 0 2px #f4e9c7;font-size:15px;padding:8px 12px}.panel-tabs button.active{background:#627651;border-color:#425a35;color:#f8efcb;box-shadow:inset 0 2px #8d9d6d}.row-list{display:grid;gap:10px}.item-row{display:flex;align-items:center;gap:14px;background:#e1d7b8;border:1px solid #bdb18e;padding:12px}.item-art{width:50px;height:50px;flex-shrink:0;background:#d0c5a5;border:1px solid #afa483;padding:5px;display:grid;place-items:center}.item-art img{width:100%;height:100%;object-fit:contain}.item-info{flex:1;min-width:0}.item-info strong{font:20px Pixel;color:#364534;display:block}.item-info p{font-size:12px;line-height:1.5;color:#82795d;margin:4px 0 0}.item-info .good{color:#517348}.item-info .bad{color:#a1604d}.item-row button{background:#60734e;border-color:#495c39;color:#f1edce;box-shadow:inset 0 2px #8e9e6b;font-size:14px;padding:9px 12px;white-space:nowrap}.item-row button.muted-button{background:#c6b891;color:#5a6046;border-color:#a29773;box-shadow:inset 0 2px #e6d9b2}.notice{background:#ded3af;border-left:3px solid #a5a36c;padding:13px 16px;font-size:13px;line-height:1.6;color:#777453;margin:18px 0}.notice.error{border-color:#b57457;color:#9a634b}.muted{color:#888169}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.stat{background:#dcd0aa;border:1px solid #b6a779;padding:15px}.stat span{display:block;font:11px Pixel;letter-spacing:1px;color:#928055}.stat b{display:block;font:25px Pixel;margin-top:8px;color:#415039}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.card{background:#dfd4b1;border:2px solid #b4a779;padding:18px}.card h3{font:24px Pixel;margin:0 0 8px;color:#405037}.card p{font-size:13px;color:#817a5d;line-height:1.6}.card button{font-size:14px;background:#60764f;box-shadow:inset 0 2px #91a577;border-color:#4c603e;color:#fff3ce}.bag-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.bag-slot{aspect-ratio:1;background:#ded4b3;border:2px solid #b2a881;box-shadow:inset 2px 2px #c9bf9b;position:relative;padding:8px}.bag-slot img{width:100%;height:100%;object-fit:contain}.bag-slot b{position:absolute;right:5px;bottom:3px;font:14px Pixel;color:#4b5738;text-shadow:1px 1px #e7d9af}.bag-slot.empty:after{content:'·';color:#b3a884;font-size:25px}.journal .bag-grid{grid-template-columns:repeat(4,1fr);gap:6px}.journal .bag-slot{padding:6px}.skill-row{margin:0 0 20px}.skill-row>div:first-child{display:flex;justify-content:space-between;font:19px Pixel}.skill-row small{font-size:11px;color:#8c815f}.skill-row .quest-progress{margin:10px 0 7px}.dialogue{display:flex;align-items:flex-start;gap:20px}.dialogue canvas{width:86px;height:106px;flex-shrink:0;background:#aab787;border:2px solid #858e60;padding:5px}.dialogue h3{font:28px Pixel;margin:4px 0 12px;color:#46513b}.dialogue p{font-size:15px;line-height:1.7;color:#746f53}.subhead{font:24px Pixel;color:#425139;margin:18px 0 14px}.form-grid{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:15px 0}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#837653}.form-grid label.grow{flex:1}input,select{padding:10px;border:2px solid #b0a278;background:#faf1d6;color:#454d39;border-radius:0;min-width:0;font-size:14px}input[type=number]{width:75px}.form-grid button{background:#6b7d54;border-color:#50623d;box-shadow:inset 0 2px #96a474;color:#f9efd2;font-size:15px}form h3{font:24px Pixel}button.text-button{background:none;border:0;box-shadow:none;color:#818358;padding:0;font-size:14px}.market-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.market-head input{width:210px}.item-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.tag{display:inline-block;font:11px Pixel;background:#c9c49a;color:#5d7048;padding:4px 7px;border:1px solid #afa97e}.guide-step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #bcb18d}.guide-step b{font:35px Pixel;color:#baaa73}.guide-step h3{font:23px Pixel;margin:0 0 6px;color:#415039}.guide-step p{font-size:14px;line-height:1.6;color:#7b755b;margin:0}.font-license{white-space:pre-wrap;font-size:11px;line-height:1.4}.wide{width:100%}.side-badge{font:12px Pixel;color:#869d99}#panel-body>button.primary{margin-top:12px}.profile-portrait{width:84px;height:96px;background:#a1b083;border:2px solid #818e64}.profile-top{display:flex;align-items:center;gap:18px;margin-bottom:22px}.profile-top h3{font:31px Pixel;margin:0 0 8px}.profile-top p{font-size:13px;color:#82795c}
@media(max-width:1200px){.topbar{gap:24px;padding:0 16px}.alpha{display:none}.topbar nav{gap:2px}.topbar nav button{font-size:15px;padding:8px}.accountbar{gap:12px}.accountbar>span{display:none}#game{grid-template-columns:minmax(0,1fr) 258px}.actionbar{gap:5px;padding:7px}.actionbar button{min-width:0;flex:1;gap:5px;flex-direction:column;height:58px;padding:5px}.actionbar b{font-size:12px}.actionbar [data-art]{width:22px;height:22px}.journal-head{padding:19px 15px}.journal-head strong{font-size:26px}#journal-body{padding:18px 15px}.quest-heading{font-size:27px}.world-controls{display:none}.chat{width:260px}.launch-card{width:395px;padding:29px}.launch-card h1{font-size:53px}}
@media(max-width:850px){.topbar nav button[data-panel=profiles],.topbar nav button[data-panel=guide]{display:none}.profile-button span{display:none}.topbar{gap:16px}.accountbar{gap:9px}.accountbar>b{font-size:19px}.accountbar>b small{display:none}#game{grid-template-columns:minmax(0,1fr) 235px;padding:7px;gap:7px}.journal-head strong{font-size:24px}.chapter-number{font-size:27px}.quest-heading{font-size:25px}.journal-foot{padding:15px}.map-corner{width:99px;right:12px;top:13px}#minimap{width:85px;height:72px}.map-buttons{gap:3px}.area-plaque{left:15px;top:15px;padding:10px 12px}.area-plaque strong{font-size:25px}.chat{width:230px;left:14px;bottom:15px}#context-hint{bottom:125px}.launch-card{margin-left:5vw;width:370px}.launch-caption{right:4vw}.launch-caption strong{font-size:38px}}
@media(max-width:650px){.topbar{height:61px;padding:0 12px;gap:0;justify-content:space-between}.wordmark{font-size:26px;gap:8px}.block-mark{width:23px;height:26px;font-size:24px}.topbar nav{display:none}.accountbar{gap:10px}.accountbar>b{font-size:18px}.profile-button{padding:0;border:0}.profile-button canvas{width:30px;height:34px}.gear{width:29px;height:32px;font-size:21px}.accountbar>span{display:none}#game{height:calc(100dvh - 61px);display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 65px;gap:5px;padding:5px}.journal{display:none}.actionbar{grid-row:2;padding:4px;gap:4px}.actionbar button{height:52px;padding:4px 2px;gap:4px}.actionbar b{font-size:11px}.actionbar kbd{display:none}.actionbar [data-art]{width:19px;height:20px}.area-plaque{left:12px;top:13px;border-left-width:3px;padding:9px 12px}.area-plaque .overline{font-size:8px;letter-spacing:1px}.area-plaque strong{font-size:23px}.area-plaque>span:last-child{font-size:10px}.map-corner{width:86px;right:11px;top:13px}#map-toggle{padding:3px}#minimap{width:75px;height:64px}.map-buttons button{height:26px;font-size:15px}.chat{width:197px;left:11px;bottom:14px}.chat>button{font-size:10px;padding:6px 9px}#chat-lines{font-size:10px;max-height:76px;padding:6px 9px}.touch-pad{display:grid;bottom:15px;right:11px;grid-template-columns:repeat(3,35px);gap:3px}.touch-pad button{width:35px;height:36px}.world-controls{display:none}#context-hint{bottom:146px;font-size:11px;width:max-content;max-width:90%}#toast{top:130px;font-size:15px;padding:10px 14px;max-width:90%}.home-toolbar{top:12px;left:10px;right:10px;transform:none;flex-wrap:wrap;justify-content:center;gap:4px;padding:5px;white-space:normal}.home-toolbar>b{width:100%;text-align:center;font-size:10px;padding:3px}.home-toolbar button{font-size:12px;padding:7px}.home-mode .area-plaque,.home-mode .map-corner{display:none}.placement-bar{bottom:149px;max-width:94%;width:max-content;gap:6px;padding:7px}.placement-bar span{font-size:12px}.placement-bar button{font-size:11px;padding:5px}.at-launch #game{height:calc(100dvh - 61px)}#launcher{inset:61px 0 0;background:#152c2d8c;align-items:center;justify-content:center;padding-bottom:48px}.launch-card{width:calc(100% - 44px);max-width:367px;margin:0;padding:26px}.launch-card h1{font-size:49px;margin:20px 0 18px}.launch-edition{font-size:9px;letter-spacing:1px}.launch-card>p{font-size:13px;line-height:1.6;margin-bottom:20px}.launch-actions .primary{font-size:19px;padding:13px}.launch-actions>button:last-child{font-size:14px;padding:10px}.launch-save{font-size:10px}.launch-divider{margin:18px 0 15px}.launch-features span{font-size:13px}.launch-features b{font-size:16px}.launch-caption{display:none}.launch-bottom{height:46px;padding:0 14px;gap:14px}.launch-bottom>span{font-size:8px;letter-spacing:.8px}.launch-bottom button{font-size:11px}.launch-bottom button:last-child{display:none}dialog{width:calc(100vw - 20px);max-height:90dvh}dialog>header{padding:18px 17px}dialog h2{font-size:29px}dialog header .overline{font-size:9px}#panel-body{padding:18px 16px;max-height:calc(90dvh - 101px)}.panel-lead{font-size:13px}.item-row{padding:10px;gap:9px}.item-art{width:42px;height:42px;padding:4px}.item-info strong{font-size:17px}.item-info p{font-size:11px;line-height:1.4}.item-row button{font-size:12px;padding:8px}.stats{gap:6px}.stat{padding:11px}.stat b{font-size:21px}.stat span{font-size:9px}.cards{grid-template-columns:1fr}.bag-grid{grid-template-columns:repeat(5,1fr);gap:6px}.panel-tabs{gap:5px}.panel-tabs button{font-size:13px;padding:8px}.notice{font-size:12px;padding:12px}.dialogue{gap:12px}.dialogue canvas{width:58px;height:76px}.dialogue h3{font-size:23px}.dialogue p{font-size:13px}.market-head{gap:10px}.market-head input{width:155px;padding:8px}.form-grid{gap:8px}.profile-top{gap:13px}.profile-top h3{font-size:27px}.home-mode .chat{display:none}}
@media(max-height:720px){.launch-card{padding-top:23px;padding-bottom:22px}.launch-card h1{font-size:45px;margin:16px 0}.launch-card>p{margin-bottom:16px}.launch-divider{margin:15px 0}.launch-features{display:none}.launch-card .launch-save{font-size:10px}.journal-head{padding-top:17px;padding-bottom:14px}#journal-body{padding-top:16px}.quest-heading{font-size:26px}.quest-description{margin-bottom:12px}.journal-foot{padding-top:13px;padding-bottom:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.home-mode .map-corner{display:none}

/* Expanded world: the playfield gets the full desktop width by default. */
.wide-world #game{grid-template-columns:minmax(0,1fr)}.wide-world .journal{display:none}
.map-corner{width:180px}#minimap{width:166px;height:125px}#toggle-journal{width:100%;font-size:12px;padding:6px;margin-top:5px}
.map-dialog{width:min(1120px,96vw)}#world-map{display:block;width:min(100%,80vh);height:auto;max-height:none;background:#829a60;border:3px solid #485740;cursor:crosshair;margin:0 auto 18px;aspect-ratio:4/3}
.map-dialog #panel-body{padding-top:14px}.map-dialog .cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:650px){.map-corner{width:106px}#minimap{width:95px;height:72px}#toggle-journal{display:none}.map-dialog .cards{grid-template-columns:1fr}#world-map{max-height:none}.map-dialog #panel-body{padding:12px}}
/* Chapter two: small, square game controls and readable wallet identity. */
.wallet-address{font:14px/1.5 monospace;overflow-wrap:anywhere;word-break:break-all;text-align:left;max-width:100%;user-select:all}.wallet-options{display:grid;gap:10px;margin:18px 0}.wallet-options button{text-align:left}.card .form-grid{gap:7px}.card h3{margin:12px 0 8px}.card .wallet-address{padding:8px;border:2px solid #b4a581;background:#e4d7b5;color:#293c36}.form-grid label{min-width:110px}#next-objective{position:absolute;left:24px;top:120px;max-width:310px;background:#192c2bea;color:#f3e1ac;border:2px solid #6d7e55;padding:9px 12px;text-align:left;font-size:14px;box-shadow:3px 3px #0c1b24a0}#online-roster{position:absolute;left:50%;transform:translateX(-50%);top:20px;padding:8px 14px;background:#192c2bed;color:#e9d6a0;border:2px solid #687c50;font-size:14px}.at-launch #next-objective,.at-launch #online-roster{display:none}.home-toolbar{flex-wrap:wrap;max-width:calc(100% - 24px)}.home-mode .area-plaque{max-width:calc(100% - 200px)}.font-license{white-space:pre-wrap}
@media(max-width:650px){#next-objective{top:103px;left:12px;max-width:215px;font-size:12px;padding:7px}#online-roster{top:159px;left:12px;transform:none;font-size:12px}.home-toolbar{bottom:auto;font-size:12px}.home-toolbar button{padding:7px}.wallet-address{font-size:12px}.card .form-grid{display:flex;flex-wrap:wrap}.form-grid label{min-width:95px}}

.home-mode #next-objective{display:none}.home-mode #online-roster{top:auto;bottom:20px}

/* Heartlands: stone, timber, brass. Crisp CSS textures stay sharp at any size. */
.game-token-card{font:16px/1.6 system-ui,sans-serif;padding:20px;border:2px solid #8b9560;background:#efe6cb;overflow-wrap:anywhere}.game-token-card h3{font:30px/1.2 Pixel;margin:18px 0}.game-token-card .muted{font-size:14px}.game-token-link{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;margin:8px 0;background:#31523c;border:2px solid #21382a;color:#fff2ca;font:18px Pixel}.game-token-card button{min-height:44px}.map-corner .map-buttons button{min-width:0;padding-left:0;padding-right:0}
:root{
  --stone:#202722;--stone-light:#30382f;--stone-edge:#4c5745;--gold:#d2ab65;--gold-light:#f0d49b;
  --stone-texture:repeating-linear-gradient(0deg,#10180f24 0 2px,transparent 2px 26px),repeating-linear-gradient(90deg,#ffffff02 0 2px,transparent 2px 38px);
  --paper-texture:repeating-linear-gradient(0deg,#725c3210 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#fffdf012 0 1px,transparent 1px 7px);
}
body{background:#121a16}button{border-width:2px;box-shadow:inset 2px 2px #ffffff16,inset -2px -3px #00000030,0 3px #101811;border-color:#10180f;border-radius:0;transition:background-color .12s,color .12s}
button:hover{background-color:#526049}button:focus-visible,a:focus-visible{outline:3px solid #f0d49b;outline-offset:4px}
.primary{background-color:#d0aa65;background-image:var(--paper-texture);color:#252a21;box-shadow:inset 2px 3px #f2dba1,inset -2px -4px #a57b3d,0 4px #101711;border-color:#a98b56;text-shadow:0 1px #edd5a6}
.primary:hover{background-color:#e4be7a}.topbar{height:84px;gap:42px;padding:0 clamp(18px,3.5vw,64px);background-color:#1b241e;background-image:var(--stone-texture);border-bottom:2px solid #49543f;box-shadow:inset 0 -4px #101910;color:#eee7ce}
.wordmark{font-size:30px;letter-spacing:3px;gap:11px;color:#e9cf8e}.block-mark{background-color:#cfad6a;box-shadow:inset 2px 2px #efd9a2,inset -2px -2px #a17f41,3px 3px #0c160f}.alpha{max-width:75px;line-height:1.7;font:9px/1.65 Pixel;color:#87937c;letter-spacing:1.6px;border-left:1px solid #56604b;padding-left:12px;margin-left:8px}
.topbar nav{gap:4px}.topbar nav button{font:16px Pixel;letter-spacing:.2px;padding:10px 13px;color:#a0aa94}.topbar nav button:hover,.topbar nav .nav-active{background:#343e2d;border-color:#697552;color:#eddaad;box-shadow:inset 0 2px #79855b40,0 2px #0f170f}.accountbar{gap:13px}.accountbar>b{font-size:20px}.accountbar>b small{font-size:9px}.profile-button{border-color:#465240;box-shadow:inset 1px 1px #ffffff09}.gear{border-color:#465240;background:#273428}
#wallet-nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 13px;font-size:14px;color:#ecd598;background:#303c2c;border-color:#6a7751;white-space:nowrap}.solana-mark{display:grid;gap:3px;transform:skew(-22deg);width:15px}.solana-mark i{height:3px;background:#cdbeeb}.solana-mark i:nth-child(2){background:#c4cfd8}.solana-mark i:last-child{background:#accfb6}.at-launch .accountbar>#mode-label,.at-launch .accountbar>#coin-count,.at-launch .profile-button,.at-launch .gear{display:none}
#game{height:calc(100dvh - 84px);background:#131c17}.at-launch #game{height:calc(100dvh - 84px)}.viewport{border-color:#677153;box-shadow:inset 0 0 0 3px #192418,0 0 0 2px #0e160e}.actionbar{background-color:#253023;background-image:var(--stone-texture);border:2px solid #596346;box-shadow:inset 2px 2px #84916c33}.actionbar button{background-color:#33402e;background-image:var(--stone-texture);border-color:#667353;color:#e7dbb7}.actionbar button:hover{background-color:#4d5c3d}
.area-plaque,.home-toolbar,#next-objective,.chat,#online-roster{background-color:#202c21;background-image:var(--stone-texture);border-color:#7a8560;box-shadow:inset 1px 1px #9aab7333,3px 3px #08180ca0}.area-plaque{border-left:4px solid #d1b16b}.map-corner #map-toggle{background:#253021;border:3px solid #7c8960;box-shadow:inset 0 2px #bdc48d,3px 3px #0f1e11}.map-buttons button,#toggle-journal{background:#2a3828;color:#d3dab7;border-color:#5c704b}#toast{border:3px solid #9d8a57;background-color:#e8dbae;background-image:var(--paper-texture);box-shadow:inset 2px 2px #fff1c3,4px 4px #101d14b0;color:#343a25}
#launcher{inset:84px 0 0;display:block;overflow:auto;pointer-events:auto;padding:0;background:linear-gradient(90deg,#122019fc 0%,#122019ef 31%,#12201962 55%,#12201926 100%);scrollbar-width:thin;scrollbar-color:#697851 #17251b}
.launch-grid{min-height:calc(100dvh - 142px);width:min(1440px,100%);margin:0 auto;padding:clamp(25px,4vh,56px) clamp(24px,4vw,64px) 30px;display:grid;grid-template-columns:minmax(360px,.86fr) minmax(390px,1fr);gap:clamp(26px,4vw,64px);align-content:center;align-items:center}
.launch-card{pointer-events:auto;clip-path:none;width:auto;max-width:none;margin:0;padding:8px 0 6px;color:#f3e9cb;background:none;border:0;box-shadow:none}.launch-edition{font:12px Pixel;letter-spacing:2px;color:#b6c5a0;display:flex;align-items:center;gap:10px;white-space:nowrap}.pixel-star{font-size:23px;color:#d8b872}.edition-label{font:10px Pixel;letter-spacing:1px;padding:5px 8px;border:1px solid #68714a;color:#aebd90;background:#33402b55}
.launch-card h1{font:clamp(60px,5.7vw,82px)/.98 Pixel;letter-spacing:-2px;color:#f1e8ce;font-weight:600;margin:30px 0 22px;text-shadow:3px 4px #07140c}.launch-card h1 em{font-style:normal;color:#d6b36f}.launch-card>p{font:15px/1.85 Arial,sans-serif;letter-spacing:.1px;color:#aebc9f;margin:0 0 26px}
.launch-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:400px}.launch-actions .primary,.launch-actions>button:last-child{padding:17px 18px;font:19px Pixel;text-align:left;letter-spacing:.1px}.launch-actions .primary{background-color:#d0aa65;background-image:var(--paper-texture);color:#262b1e;border-color:#e3c780;box-shadow:inset 2px 3px #f5dba2,inset -2px -4px #a78343,4px 4px #0d170d}.launch-actions .primary:hover{background-color:#e5c282}.launch-actions>button:last-child{background-color:#263c2a;background-image:var(--stone-texture);color:#d1dbb3;border-color:#6b7c51;box-shadow:inset 2px 2px #99ae6429,inset -2px -3px #111f1566,3px 3px #0b170d}.launch-actions>button:last-child:hover{background-color:#385137}.launch-actions span{float:right;font-size:22px}
.launch-wallets{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}.launch-wallets>span{font:9px Pixel;letter-spacing:1.3px;color:#839177}.launch-wallets button{display:flex;align-items:center;gap:7px;font:13px Pixel;padding:4px 0;background:none;box-shadow:none;border:0;color:#bfcab2}.launch-wallets button:hover{color:#faf0ce}.launch-wallets img{width:21px;height:21px;image-rendering:auto}.launch-save{font:11px/1.6 Arial;color:#8e9d80;max-width:380px;margin-top:16px}.launch-facts{display:flex;margin-top:28px;padding-top:21px;border-top:1px solid #50624166;gap:28px}.launch-facts>div{display:grid;gap:5px}.launch-facts strong{font:25px Pixel;color:#dbd9b4}.launch-facts span{font:8px Pixel;letter-spacing:1.1px;color:#8a9c76}
.world-window{position:relative;align-self:stretch;min-height:435px;border:2px solid #8e996540;box-shadow:inset 0 0 0 6px #07150d20;background:linear-gradient(0deg,#152b1b99,transparent 32%,transparent 78%,#152b1b66);pointer-events:none}.world-window-top{height:42px;background:#1c2b1dc9;border-bottom:1px solid #9aaa6250;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 15px;font:9px Pixel;color:#d6dcb1;letter-spacing:1px}.world-window-top>span{white-space:nowrap}.world-window-top i{display:inline-block;width:6px;height:6px;background:#b1c17b;margin-right:8px;box-shadow:0 0 0 3px #889b5e26}.world-window-top>span:last-child{color:#a0b385;font-size:8px}.frame-corner{position:absolute;width:20px;height:20px;border-color:#c2c18e;border-style:solid;border-width:0}.corner-tl{left:-2px;top:-2px;border-left-width:3px;border-top-width:3px}.corner-tr{right:-2px;top:-2px;border-right-width:3px;border-top-width:3px}.corner-bl{left:-2px;bottom:-2px;border-left-width:3px;border-bottom-width:3px}.corner-br{right:-2px;bottom:-2px;border-right-width:3px;border-bottom-width:3px}.world-compass{position:absolute;top:59px;right:20px;font:45px/1 Pixel;color:#d4d7ac;text-align:center;text-shadow:2px 2px #12301b}.world-compass span{display:block;font:10px Pixel;margin-bottom:2px}.world-nameplate{position:absolute;left:28px;bottom:79px;color:#ede0b4;text-shadow:2px 3px #0b2714}.world-nameplate>span{font:10px Pixel;letter-spacing:3px;color:#c2d0a0}.world-nameplate strong{display:block;font:56px/.95 Pixel;margin:8px 0 12px}.world-nameplate small{font:11px Arial;color:#cbd3b7}.world-window-bottom{position:absolute;bottom:0;width:100%;height:49px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;background:#17271dea;border-top:1px solid #84925c66;font:10px Pixel;color:#acbb8f;letter-spacing:1px}.world-window-bottom i{font-style:normal;color:#d4ba78;padding:0 7px}.world-window-bottom button{pointer-events:auto;background:none;border:0;box-shadow:none;color:#e7d395;font:13px Pixel;padding:8px 0}.world-window-bottom b{padding-left:13px}
.launch-tiles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:0}.launch-tile{position:relative;display:flex;align-items:center;gap:12px;padding:19px 18px;background-color:#273322;background-image:var(--stone-texture);border:2px solid #53623f;box-shadow:inset 2px 2px #7e90602b,inset -2px -2px #101c1455,3px 3px #0b160f;text-align:left;color:#e7ddbc;overflow:hidden;min-width:0}.launch-tile:hover{background-color:#37482e;border-color:#8e9d63}.launch-tile>.tile-number{position:absolute;right:14px;bottom:-8px;font:60px Pixel;color:#bccf8909}.launch-tile>img{height:51px;width:51px;object-fit:contain;flex-shrink:0;filter:drop-shadow(2px 3px #10170d);background:#0d1b1840;border:1px solid #6a7b463d;padding:4px}.launch-tile>span:not(.tile-number){position:relative;min-width:0}.launch-tile small{font:8px Pixel;color:#90a278;letter-spacing:.7px;display:block;margin-bottom:7px}.launch-tile strong{font:19px/1.15 Pixel;font-weight:500}.launch-tile p{font:10px/1.5 Arial;color:#a2b08e;margin:6px 0 0}.launch-tile>b{font-size:19px;color:#9aaa70;margin-left:auto;align-self:flex-start}
.launch-bottom{position:relative;height:58px;padding:0 clamp(24px,4vw,64px);gap:25px;background-color:#19251b;background-image:var(--stone-texture);border-top:2px solid #4b593a;font:10px Pixel}.launch-bottom>span:first-child{font:9px Pixel;letter-spacing:1px;color:#9caf88}.launch-bottom>span:first-child:before{content:'';display:inline-block;width:5px;height:5px;background:#adbb7c;margin-right:10px}.launch-bottom .launch-build{font:8px Pixel;letter-spacing:1.5px;color:#6f8567;margin-left:auto}.launch-bottom button{font-size:11px;color:#a7b895;white-space:nowrap}
/* Parchment set into a masonry frame. */
dialog{background-color:#e6dbb9;background-image:var(--paper-texture);border:4px solid #5a6845;outline:2px solid #162315;box-shadow:inset 0 0 0 2px #c3bd8b,8px 8px #07150ebf;color:#30392a}
dialog::backdrop{background:#09170ddd;backdrop-filter:none}dialog>header{background-color:#263522;background-image:var(--stone-texture);border-bottom:4px solid #758050;padding:23px 26px;box-shadow:inset 0 3px #71825255}dialog header .overline{color:#9eaf7f;font:10px Pixel;letter-spacing:2px}dialog h2{color:#e6d4a1;font-size:34px;text-shadow:2px 2px #122210}#close-panel{background:#35452d;color:#d9d3a6;border-color:#889768;box-shadow:inset 2px 2px #ffffff18}#panel-body{background-image:var(--paper-texture);scrollbar-color:#869062 #e6dbb9}
.item-row,.card,.stat,.bag-slot{background-color:#dbd0ad;background-image:var(--paper-texture);border:2px solid #b6ac7f;box-shadow:inset 2px 2px #f7edce7a,inset -2px -2px #8b845423}.item-art{background:#c9c6a0;border:2px solid #919969;box-shadow:inset 2px 2px #aaa67b}.panel-tabs button,.light-button{background-color:#d2c69f;background-image:var(--paper-texture);border-color:#afa16d;color:#5c6445}.panel-tabs button.active{background-color:#596e40;color:#eee6be;border-color:#344c2b;box-shadow:inset 2px 2px #85945f}.item-row button,.form-grid button,.card button{background-color:#5b7145;background-image:var(--stone-texture);border:2px solid #415735;box-shadow:inset 2px 2px #9cab724f,inset -2px -2px #2c412a55;color:#f0e5b9}.notice{background:#d7cea980;border:2px solid #b6ad7c;box-shadow:inset 2px 2px #f5ebc673;color:#646447}.journal{background-image:var(--paper-texture);border:3px solid #8b9560}.journal-head,.journal-tabs{background-image:var(--paper-texture)}.quest-objective{border:2px solid #b3a77a}.quest-progress{border:1px solid #82915a;background:#b9ba91}.quest-progress i{background:#72814c}.stat b{color:#41522e}.tag{background:#c3c9a0;border:1px solid #8b9e68;color:#465633}
/* Both Solana providers are always visible, including when not installed. */
.wallet-dialog{width:min(560px,calc(100vw - 26px))}.wallet-dialog #panel-body{padding:27px 28px}.wallet-intro h3,.wallet-connected h3{font:30px Pixel;color:#3d4f2e;margin:14px 0 12px}.wallet-intro>p,.wallet-connected>p{font:13px/1.7 Arial;color:#727452;margin-bottom:22px}.solana-chip{display:inline-flex;align-items:center;gap:8px;color:#5b6445;font:10px Pixel;letter-spacing:1.5px}.solana-chip i{width:13px;height:10px;display:block;background:repeating-linear-gradient(0deg,#7e719d 0 2px,transparent 2px 4px);transform:skew(-24deg)}.wallet-options{display:grid;gap:12px;margin:18px 0}.wallet-choice{background:#d3c8a2;border:2px solid #a59d70;box-shadow:inset 2px 2px #f7edc86b,3px 3px #aea37b45;display:flex;align-items:center;padding:0 13px 0 0}.wallet-choice:hover{border-color:#627649;background-color:#d9cead}.wallet-choice>button{border:0;box-shadow:none;background:none;flex:1;display:flex;align-items:center;gap:15px;text-align:left;padding:16px 13px;color:#35442c;min-width:0}.wallet-choice>button:hover{background:#f5edce40}.wallet-icon{width:42px;height:42px;object-fit:contain;image-rendering:auto;flex-shrink:0}.wallet-choice strong{font:23px Pixel;display:block;font-weight:500}.wallet-choice small{display:block;font:10px Arial;color:#74785c;margin-top:5px}.wallet-choice>button>b{font:22px Pixel;margin-left:auto;color:#77814d}.wallet-choice>a{font:10px/1.4 Arial;color:#73794f;text-underline-offset:3px;max-width:61px}.wallet-permissions{display:flex;justify-content:space-between;gap:9px;border-top:1px solid #b6ac80;padding-top:16px;margin-top:22px;font:9px Pixel;color:#6e7552}.wallet-note{font:11px/1.65 Arial;color:#848163;margin:14px 0 18px}.wallet-help{display:flex;gap:12px;justify-content:space-between}.wallet-help button{background:none;box-shadow:none;border:0;font:12px Pixel;color:#5b6f40;padding:5px 0}.wallet-progress,.wallet-error{font:12px/1.65 Arial;padding:13px;border:2px solid #a5ad76;color:#465a32;background:#d2d7ad}.wallet-error{background:#ead1b0;border-color:#c1966e;color:#775431}.wallet-id{padding:16px;background:#d9cda8;border:2px solid #b1a679;box-shadow:inset 2px 2px #f3e8c1}.wallet-id>span{font:9px Pixel;letter-spacing:1px;color:#79805a}.wallet-id .wallet-address{font-size:13px;line-height:1.8}.wallet-id button{font:12px Pixel;padding:8px 11px}.wallet-connected{text-align:center}.wallet-seal{width:65px;height:65px;background:#d2c9a4;border:2px solid #afb37e;display:grid;place-items:center;box-shadow:inset 2px 2px #f9ebbc;margin:0 auto 18px}.wallet-connected .tag{font:9px Pixel}.other-wallets{border-top:1px solid #bab38a;margin-top:20px;padding-top:16px;font:12px Pixel;color:#7b7f5c}.other-wallets summary{cursor:pointer}.other-wallets button{background:#ccc6a0;border-color:#a2a279;color:#526140}
@media(max-width:1200px){.topbar{gap:20px;padding:0 24px}.topbar nav button{font-size:14px;padding:8px}.accountbar{gap:9px}#wallet-nav{font-size:12px;padding:9px}.accountbar>#mode-label{display:none}.launch-grid{grid-template-columns:minmax(320px,.95fr) minmax(320px,1fr);gap:28px;padding-left:35px;padding-right:35px}.launch-card h1{font-size:65px}.launch-facts{gap:23px}.launch-tile{padding:15px 13px;gap:10px}.launch-tile>img{width:39px;height:44px}.launch-tile strong{font-size:17px}.launch-tile small{font-size:7px}.launch-tile p{font-size:9px}.world-window-top>span:last-child{display:none}}
@media(max-width:950px){.topbar .alpha{display:none}.topbar nav{gap:2px}.accountbar .profile-button #account-name{display:none}.accountbar>b small{display:none}.topbar{height:72px}.at-launch #game,#game{height:calc(100dvh - 72px)}#launcher{inset:72px 0 0}.launch-grid{min-height:calc(100dvh - 126px);padding:36px 26px 26px;grid-template-columns:minmax(280px,1fr) minmax(255px,.88fr);gap:26px}.launch-card h1{font-size:57px;margin-top:24px}.launch-card>p{font-size:13px}.launch-edition{font-size:10px;letter-spacing:1px}.edition-label{font-size:8px}.launch-actions .primary,.launch-actions>button:last-child{font-size:17px;padding:15px}.launch-facts{gap:18px}.launch-facts strong{font-size:22px}.launch-facts span{font-size:7px}.world-window{min-height:460px}.world-window-top{font-size:8px;padding:0 10px}.world-window-bottom{padding:0 12px}.world-window-bottom>span{font-size:8px}.world-nameplate{left:18px}.world-nameplate strong{font-size:43px}.world-nameplate small{font-size:10px;display:block;max-width:190px;line-height:1.5}.launch-tile{padding:14px 12px;display:grid;grid-template-columns:32px 1fr;align-content:start;gap:9px}.launch-tile>img{width:32px;height:38px}.launch-tile strong{font-size:16px}.launch-tile small{display:none}.launch-tile p{line-height:1.6}.launch-tile>b{display:none}.launch-bottom{height:54px;padding:0 24px;gap:18px}.launch-bottom .launch-build{display:none}}
@media(max-width:700px){.topbar{height:66px;gap:12px;padding:0 16px}.topbar nav{display:none}.wordmark{font-size:27px;gap:8px}.block-mark{width:25px;height:28px;font-size:26px}.accountbar{gap:8px}#wallet-nav{padding:9px 10px;font-size:12px}.accountbar>#mode-label,.accountbar>#coin-count{display:none}.accountbar .profile-button{padding:0}.profile-button canvas{width:31px;height:34px}.gear{width:29px;height:33px;font-size:19px}.at-launch #game,#game{height:calc(100dvh - 66px)}#launcher{inset:66px 0 0;background:linear-gradient(0deg,#14241afc 3%,#14241ad9 60%,#14241adb)}.launch-grid{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:32px 22px 25px}.launch-card{padding:0;width:100%;max-width:430px;align-self:center}.launch-edition{font-size:10px;letter-spacing:1px;gap:8px}.pixel-star{font-size:21px}.edition-label{font-size:8px;padding:5px 6px;margin-left:auto}.launch-card h1{font-size:clamp(49px,11.9vw,72px);margin:27px 0 20px;letter-spacing:-1.7px}.launch-card>p{font-size:13px;line-height:1.8;margin-bottom:25px}.launch-actions{max-width:none;gap:11px}.launch-actions .primary,.launch-actions>button:last-child{font-size:18px;padding:16px 15px}.launch-wallets{margin-top:21px;gap:16px}.launch-wallets>span{font-size:8px}.launch-wallets button{font-size:13px}.launch-save{margin-top:15px;max-width:320px;font-size:10px}.launch-facts{margin-top:24px;padding-top:19px;gap:0;justify-content:space-between}.launch-facts strong{font-size:23px}.launch-facts span{font-size:7px;letter-spacing:.6px}.world-window{min-height:210px;align-self:stretch;margin:3px 0 0;background:linear-gradient(0deg,#1a2e1b90,transparent);display:none}.world-nameplate{left:18px;bottom:61px}.world-nameplate strong{font-size:37px}.world-nameplate small{display:none}.world-compass{top:60px;font-size:30px}.launch-tiles{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}.launch-tile{display:flex;padding:16px;gap:15px;min-height:87px}.launch-tile>img{width:43px;height:43px}.launch-tile small{display:block;font-size:7px;letter-spacing:.7px}.launch-tile strong{font-size:19px}.launch-tile p{font-size:10px;margin-top:6px}.launch-tile>b{display:block;font-size:18px}.launch-bottom{height:auto;min-height:55px;gap:10px;padding:16px 22px;flex-wrap:wrap;justify-content:space-between}.launch-bottom>span:first-child{font-size:8px;letter-spacing:.5px;margin-right:0}.launch-bottom button{font-size:10px}.launch-bottom button:last-child{display:none}.launch-build{display:none}.wallet-dialog{width:calc(100vw - 24px);max-height:90dvh}.wallet-dialog #panel-body{padding:22px 18px;max-height:calc(90dvh - 99px)}dialog>header{padding:19px 18px}dialog h2{font-size:29px}.wallet-intro h3{font-size:27px}.wallet-intro>p{font-size:12px}.wallet-choice>button{padding:15px 11px;gap:12px}.wallet-choice strong{font-size:23px}.wallet-choice small{font-size:9px}.wallet-icon{width:37px;height:37px}.wallet-permissions{font-size:8px;gap:8px}.wallet-note{font-size:10px}.wallet-choice>a{font-size:9px;max-width:52px}.map-dialog .cards{grid-template-columns:1fr}}
@media(max-width:380px){.topbar{padding:0 12px}.wordmark{font-size:24px}#wallet-nav{font-size:11px;padding:8px}.accountbar .gear{display:none}.launch-grid{padding-left:18px;padding-right:18px}.launch-card h1{font-size:48px}.launch-facts span{font-size:6px}.wallet-choice>button>b{display:none}.wallet-permissions{font-size:7px}.launch-tile strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Projects and business progression */
.recipe-pin{margin-top:24px;padding:18px 0 0;border-top:1px solid #bdaf91}.recipe-pin h3{font-size:21px;margin:9px 0}.recipe-pin p{font-size:13px;line-height:1.5;color:#665e4e}.project-heading{display:flex;gap:18px;align-items:center;margin-bottom:24px}.project-heading h3,.business-heading h3{font-size:30px;margin:8px 0}.project-heading p,.business-heading p{font-size:14px;line-height:1.6;color:#746b59}.craft-batch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.craft-batch span{margin-right:auto;font-size:13px;color:#746b59}.craft-batch button[aria-pressed="true"]{background:#405747;color:#fff4d7;border-color:#405747}.business-heading{padding:22px;background:#e8dfca;border:1px solid #c8b995;margin-bottom:20px}.item-actions{flex-wrap:wrap}.project-heading .item-art{flex-shrink:0}@media(max-width:560px){.project-heading h3,.business-heading h3{font-size:25px}.row-list .item-row{flex-wrap:wrap}.row-list .item-info{min-width:0;flex:1}.row-list .item-actions{margin-left:auto}.recipe-pin{margin-top:16px}}

.townlife-chip{position:absolute;left:22px;top:112px;background:#203e37e8;color:#f3ddaa;font-size:14px;z-index:2}.at-launch .townlife-chip{display:none}.fishing-water{background:linear-gradient(#214b53,#327979);color:#edf2cd;text-align:center;padding:25px 18px;border:3px solid #193e43;margin:20px 0}.fishing-water strong{font:26px Pixel;display:block}.fishing-water p{font-size:14px;line-height:1.6}.fishing-ripple{font:64px Pixel;color:#f5ce7b;height:85px}.fish-collection .card{position:relative}.fish-collection .undiscovered .item-art{filter:grayscale(1);opacity:.5}.town-project{padding:22px;border:1px solid #b9ad8e;background:#eee5d0;margin:18px 0}.town-project h3{font:29px Pixel;margin:10px 0}.town-project p{font-size:14px;line-height:1.6}.project-benefit{padding:12px;background:#d8e1c8}.shop-preview{height:210px;max-width:320px;position:relative;margin:22px auto;background:linear-gradient(#6b8a90 65%,#748850 65%);border:4px solid #465740;image-rendering:pixelated;--shop:#557b5d}.shop-smith{--shop:#567c97}.shop-cook{--shop:#aa6b53}.shop-roof{position:absolute;left:15%;top:18%;width:70%;height:52%;background:#cdb990;border-top:25px solid #795f44;box-shadow:5px 5px #38432d}.shop-awning{display:none;position:absolute;left:12%;top:36%;width:76%;height:24px;background:repeating-linear-gradient(90deg,var(--shop) 0 24px,#ead7a8 24px 48px);box-shadow:0 5px #4d503a}.shop-stage-1 .shop-awning,.shop-stage-2 .shop-awning{display:block}.shop-sign{position:absolute;left:19%;right:19%;top:51%;padding:5px;text-align:center;background:#785e3c;color:#fff0c0;font:13px Pixel;overflow:hidden;white-space:nowrap}.shop-stage-2 .shop-sign{background:#e2bd65;color:#263d31;border:2px solid #ffe3a3}.shop-door{position:absolute;left:43%;top:65%;height:28px;width:35px;background:#3b4f3a}.shop-display{display:none;position:absolute;right:9%;top:69%;padding:7px;background:var(--shop);color:#f5dfb3;font:12px Pixel}.shop-stage-2 .shop-display{display:block}@media(max-width:700px){.townlife-chip{top:95px;left:10px;font-size:12px;padding:7px 9px}.town-project{padding:15px}.town-project .item-actions{width:100%;justify-content:flex-end}.fish-collection{grid-template-columns:1fr 1fr}.fish-collection h3{font-size:19px}.fishing-water strong{font-size:23px}}

/* Welcome path and earned home collections. */
.welcome-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.welcome-steps li{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #8f865b55;font-size:16px;color:#635f42}.welcome-steps li span{min-width:26px;color:#345443}.welcome-steps li.current{border:2px solid #45634a;color:#213e30;background:#ffffff35}.welcome-steps li.done{color:#4f6c44}.welcome-card,.friend-story,.river-event{border:2px solid #938656;padding:22px;margin:18px 0;background:#ffedb42b}.welcome-card h3,.friend-story h3,.river-event h3{font-size:26px;margin:12px 0}.welcome-card p,.friend-story p,.river-event p{font-size:17px;line-height:1.6}.welcome-reward{color:#42563a;border-left:3px solid #9b7e35;padding:12px;line-height:1.5;background:#e4cf8e40;margin:12px 0}.river-event{border-color:#417a7c;background:#5aa5ac18}.welcome-finish{padding:24px 8px}.welcome-finish h3{font-size:30px;line-height:1.4}.aquarium-preview{min-height:82px;display:flex;justify-content:center;gap:12px;background:#2c768f;border:5px solid #6a583c;margin:14px 0;padding:12px}.aquarium-preview .item-art{background:#78bfc8;border:0}.outfit-card canvas{display:block;margin:auto;image-rendering:pixelated}.outfit-card{text-align:center}.story-memory{padding:14px;border-bottom:1px solid #9c9066;font-size:17px}.story-memory p{line-height:1.6}.friend-story button,.welcome-card button,.river-event button{min-height:44px}.form-grid button{white-space:normal}.welcome-steps li,.welcome-card,.friend-story,.river-event{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.welcome-steps{grid-template-columns:1fr}.welcome-steps li:not(.current):not(.done){display:none}.welcome-card,.friend-story,.river-event{padding:16px}.outfit-card canvas{width:72px;height:84px}.welcome-reward{font-size:15px}}

.welcome-card .primary{color:#233b2d!important}.welcome-card .overline,.friend-story .overline,.river-event .overline{color:#42533d}

/* Optional playtest notebook follows the town journal's paper styling. */
.playtest-steps{list-style:none;padding:0;display:grid;gap:8px}
.playtest-steps li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #d9cfbb;padding:8px 0}
.playtest-steps b{white-space:nowrap}
.playtest-task{padding:16px 0;border-bottom:1px solid #d9cfbb}
.playtest-task h4{font-size:20px;margin:0 0 8px}
.playtest-task p{line-height:1.55;margin:0 0 12px}
.playtest-task label,.playtest-notes{display:grid;gap:8px}
#panel-body textarea{box-sizing:border-box;max-width:100%;width:100%;padding:12px;border:1px solid #b8ac92;border-radius:6px;background:#fffaf0;color:#252d2b;font:16px/1.5 system-ui,sans-serif;resize:vertical}
#playtest-report{font:12px/1.5 ui-monospace,monospace!important;margin-bottom:12px}
.playtest-notes{margin:16px 0}

/* The neighborhood expansion uses the existing paper, timber and awning palette. */
.neighborhood-links,.store-shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 24px}
.neighborhood-links button{min-height:48px}
.store-banner{padding:24px;background:var(--shop-color,#4b755a);color:#fff5d5;border:4px solid #bba877;box-shadow:inset 0 0 0 2px #e7d4a1;margin-bottom:20px}
.store-banner h3{font-family:Pixel,monospace;font-size:30px;margin:10px 0}
.store-banner p{margin:0;color:#fff0d0}
.shop-awning-strip{height:22px;margin:-16px -16px 18px;background:repeating-linear-gradient(90deg,var(--shop-color),var(--shop-color) 22px,#eddda9 22px,#eddda9 44px)}
.stock-card{background:#eee4c9;border:1px solid #b5a684;border-bottom:8px solid #826747;padding:18px;min-width:0;box-shadow:0 4px 0 #c8b995}
.stock-card>.item-art{width:72px;height:72px;float:left;margin-right:14px}
.stock-card h3{font-size:19px;margin:10px 0}.stock-card form{clear:both;margin:12px 0}
.stock-card button{min-height:44px}.stock-card input{width:100%;min-width:0}
.shelf-samples{display:flex;min-height:64px;margin:12px 0}.shelf-samples .item-art{width:56px;height:56px}
.estate-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.estate-steps>div{padding:16px;border:1px solid #bcaf91;background:#e8dec4}.estate-steps .current{border:2px solid #64764b;background:#f2e8ca}
.estate-steps span{font-family:Pixel,monospace;color:#7d7855;font-size:24px}.estate-steps h3{font-size:20px}.estate-steps p{font-size:14px;line-height:1.5}
@media(max-width:600px){.store-shelf-grid,.estate-steps{grid-template-columns:1fr}.neighborhood-links{gap:10px}.store-banner h3{font-size:25px}.stock-card>.item-art{width:58px;height:58px}}
/* Wilds and festival menus retain the town's stone, ink and gold palette. */
.adventure-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.adventure-links button{flex:1;min-width:125px;min-height:44px}
.wilds-heading,.marketday-heading{padding:24px;background:#233c34;color:#fff2d3;border:1px solid #bd9d5a;margin-bottom:20px}.marketday-heading{background:#4f3440}.wilds-heading h3,.marketday-heading h3{font-size:30px;margin:8px 0}.wilds-heading p,.marketday-heading p{color:#eee0c7;line-height:1.6}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.resource-grid .card{min-width:0}.resource-grid .card p{font-size:14px;line-height:1.5}.resource-grid .item-art{display:block;margin-bottom:8px}
.encounter-card{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:22px;padding:20px;background:#203238;color:#f7ecd0;border:1px solid #788675}.encounter-card h3{font-size:28px}.encounter-card p{color:#e0dbc5;line-height:1.6}.enemy-portrait{width:160px;height:160px;image-rendering:pixelated}.health-line{display:flex;justify-content:space-between;font-size:14px;margin-top:12px}.encounter-card progress{width:100%;height:14px;accent-color:#97c17c}.encounter-card .enemy-health{accent-color:#d98870}.combat-intent{padding:16px;margin:16px 0;border-left:4px solid #b89c62;background:#ede2c7;color:#26322d}.combat-intent.heavy{border-color:#bc4737;background:#f5d8c7}.combat-intent.recover{border-color:#548454;background:#dfe8ce}.combat-actions{display:flex;gap:10px;margin:16px 0}.combat-actions button{flex:1;min-height:54px}.crop-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crop-picker button{min-height:56px;white-space:normal}.crop-picker small{display:block;font-size:12px;margin-top:4px}.wilds-chip{position:absolute;left:24px;top:132px;z-index:5;background:#253b32;color:#fce6af;border:1px solid #ae945c;padding:10px 14px;font-family:inherit;min-height:44px}
@media(max-width:650px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.encounter-card{grid-template-columns:88px 1fr;gap:12px;padding:12px}.enemy-portrait{width:88px;height:88px}.encounter-card h3{font-size:22px}.wilds-heading,.marketday-heading{padding:16px}.wilds-chip{left:12px;top:118px;font-size:13px;padding:7px 10px}.form-grid{flex-wrap:wrap}.form-grid label{min-width:0;flex:1 1 110px}.form-grid label.grow{flex-basis:100%}.form-grid input,.form-grid select{max-width:100%;box-sizing:border-box}.item-row{min-width:0}.item-info{min-width:0;overflow-wrap:anywhere}.item-actions{flex-wrap:wrap}.stock-card{min-width:0}#panel{max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px)}#panel-body{overscroll-behavior:contain}.adventure-links button{min-width:110px}input,select,textarea{font-size:16px!important}}
@media(pointer:coarse){button,.button,.auth-link,summary{min-height:44px;touch-action:manipulation}.touch-pad{display:grid!important;gap:5px;padding-bottom:env(safe-area-inset-bottom);bottom:20px;right:14px}.touch-pad button{width:48px!important;height:48px!important;min-height:48px!important;font-size:17px!important;touch-action:none}#touch-e{font-size:11px!important;padding:0!important}.map-buttons button{min-width:44px;min-height:44px}.world-controls{display:none!important}.actionbar{padding-bottom:env(safe-area-inset-bottom)}#panel header{padding-top:max(16px,env(safe-area-inset-top))}.wallet-choice a{min-height:44px;display:flex;align-items:center;justify-content:center}.combat-actions button{min-height:54px}.home-toolbar{max-width:calc(100% - 24px);overflow-x:auto;white-space:nowrap}.home-toolbar button{flex-shrink:0}}
@media(max-width:420px){.resource-grid{grid-template-columns:1fr 1fr;gap:8px}.resource-grid .card{padding:12px}.resource-grid .card h3{font-size:17px}.encounter-card{grid-template-columns:1fr}.enemy-portrait{justify-self:center;width:104px;height:104px}.combat-actions{gap:5px}.combat-actions button{padding:8px}.touch-pad{bottom:16px!important}.chat{max-width:calc(100% - 184px)}}
@media(max-width:650px){button,summary,.wallet-choice a{min-height:44px}.touch-pad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:4px}.touch-pad button{width:48px!important;height:48px!important;min-height:48px!important;font-size:16px!important}#touch-e{font-size:11px!important;padding:0}.map-buttons button{min-width:44px;min-height:44px}.panel-tabs{flex-wrap:wrap}.panel-tabs button{min-height:44px}}
/* Eastern boroughs: civic stone, botanical green, and harbor blue. */
.civic-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.civic-nav button{flex:1 1 150px;min-height:46px}.civic-intro,.renown-banner,.civic-plaque,.civic-desk{padding:24px;margin:16px 0;background:#24384a;color:#f5edcf;border:3px solid #bb9855;box-shadow:inset 0 0 0 3px #111c2755}.civic-intro h3,.renown-banner h3,.civic-plaque h3,.civic-desk h3{color:#ffe1a2;font-size:28px;margin:8px 0 12px}.civic-intro p,.renown-banner p,.civic-plaque p,.civic-desk p{color:#f0ecd9}.civic-desk .notice{color:#263b31}.renown-banner strong{font-size:26px}.district-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.district-card.heights{background:#34405e}.district-card.commons{background:#245346}.district-card.quay{background:#235467}.district-card h3,.district-card p,.district-card .overline{color:#f9ecd0}.district-card h3{font-size:23px}.district-card button{width:100%;margin-top:14px}.civic-buildings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.civic-portrait{display:block;width:100%;max-height:220px;object-fit:contain;image-rendering:pixelated;margin:0 0 16px;border:2px solid #344637;background:#263749}.civic-plaque{margin-top:0}.civic-desk button{margin:8px 8px 0 0}.civic-nav .tag{white-space:normal}.card .civic-portrait{border:0}.civic-buildings .card{min-width:0}.civic-buildings .card button{width:100%}
@media(max-width:650px){.district-grid,.civic-buildings{grid-template-columns:1fr}.civic-intro,.civic-plaque,.civic-desk,.renown-banner{padding:18px}.civic-nav button{flex-basis:125px}.civic-desk button{display:block;width:100%;margin:10px 0 0}.civic-portrait{max-height:180px}.civic-intro h3,.renown-banner h3,.civic-plaque h3,.civic-desk h3{font-size:25px}}
@media(max-width:650px){.home-mode.social-interior .chat{display:block;left:12px;bottom:22px;width:calc(100% - 194px);max-width:270px;max-height:200px;overflow:auto}.social-interior .chat #chat-toggle{width:100%;font-size:14px}.social-interior .chat #chat-form{flex-wrap:wrap}.social-interior .chat #chat-input{min-width:0;width:100%}.social-interior .chat:has(#chat-lines[hidden]) #chat-form{display:none}.social-interior .home-toolbar{top:115px}}

@media(max-width:650px){body.social-interior .townlife-chip,body.social-interior .wilds-chip{display:none}}

.townlife-chip{top:118px;left:24px;min-height:44px}.wilds-chip{top:118px;left:208px}#next-objective{top:170px}.home-mode .townlife-chip,.home-mode .wilds-chip{display:none}@media(max-width:650px){.townlife-chip{top:95px;left:12px}.wilds-chip{top:95px;left:151px}#next-objective{top:147px}#online-roster{top:200px}}
/* Crown Exchange: readable coin quotes, clear escrow and touch-sized forms. */
.economy-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.economy-nav button{min-height:44px;flex:1;white-space:normal}.exchange-select{display:grid;gap:8px;font-size:1rem}.exchange-select select{width:100%;min-height:46px}.exchange-summary{display:flex;gap:16px;align-items:center;margin:20px 0}.exchange-summary h3{margin:6px 0;font-size:1.65rem}.exchange-summary p{margin:0}.exchange-chart{margin:16px 0;padding:12px;border:1px solid #536d6350;background:#e0e9dc;color:#315e49;border-radius:8px}.exchange-chart svg{display:block;width:100%;height:auto;min-height:140px}.exchange-chart text{font:14px sans-serif;fill:currentColor}.exchange-chart figcaption{font-size:.85rem;margin-top:8px}.exchange-chart.empty{min-height:130px;display:grid;place-items:center;text-align:center;line-height:1.6}.exchange-form{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin:20px 0}.exchange-form label{min-width:0;display:grid;gap:8px}.exchange-form input,.exchange-form select{width:100%;min-width:0;min-height:46px;font-size:1rem}.exchange-form .notice{grid-column:1/-1;margin:0}.exchange-form>button{grid-column:1/-1;min-height:48px}.exchange-help{font-size:.95rem;line-height:1.6}.exchange-book{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.exchange-book section{padding:14px;background:#ddd5c545;border:1px solid #66764c45;border-radius:8px;min-width:0}.exchange-book h3{margin:0 0 10px}.book-line{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #66764c30;padding:9px 0;font-size:.95rem}.collection-grid{display:grid;gap:16px;margin:20px 0}.collection-card{padding:20px}.collection-card>.item-art{float:right;margin-left:12px}.collection-card p{line-height:1.55}.collection-card .form-grid{flex-wrap:wrap}.collection-card button{min-height:44px}.production-steps{display:flex;gap:8px;align-items:stretch}.production-steps button{display:grid;justify-items:center;flex:1;min-width:0;padding:10px 6px;font-size:.9rem;line-height:1.4}.production-steps .item-art{width:44px;height:44px}.production-steps span{overflow-wrap:anywhere}.economy-nav button,.collection-card button,.exchange-book b{overflow-wrap:anywhere}
@media(max-width:650px){.exchange-form{grid-template-columns:1fr 1fr}.exchange-form label:first-child{grid-column:1/-1}.exchange-summary h3{font-size:1.4rem}.exchange-book{gap:8px}.exchange-book section{padding:10px}.exchange-book h3{font-size:1rem}.book-line{font-size:.875rem}.collection-card{padding:14px}.collection-card .form-grid{display:grid;grid-template-columns:1fr}.economy-nav button{flex-basis:40%}.exchange-chart svg{min-height:100px}.production-steps button{font-size:.875rem}.exchange-select,.exchange-form label{font-size:1rem}}
.expedition-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.vault-heading{background:#254151;color:#f2eedb;padding:22px;border:3px solid #91afb0}.vault-heading .overline{color:#c0e1df}.vault-heading h3{font:38px Pixel;margin:12px 0}.vault-heading p{line-height:1.6}.vault-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vault-stages span{padding:12px;border:1px solid #8aa7aa;font:18px Pixel}.vault-stages .done{color:#d4e98f}.vault-encounters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.vault-encounters .enemy-portrait{width:100%;height:110px;object-fit:contain}.regional-stories{display:grid;gap:20px}.regional-card{padding:20px;border:2px solid #9c997b;background:#f3ead1;color:#293d3e}.regional-card h3{font:28px Pixel;margin:8px 0}.regional-card h4{font:22px Pixel;margin:18px 0 8px}.regional-card p{font-size:16px;line-height:1.55}.regional-card.complete{border-color:#74835c}.regional-goals{list-style:none;padding:0;margin:12px 0}.regional-goals li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #b8b69b;font-size:16px}.regional-goals .done{color:#356144}.regional-goals b{white-space:nowrap}.achievement-plaque{border:2px solid #b29a59;padding:15px;margin:12px 0}.achievement-plaque h3{font:24px Pixel;margin:8px 0}#route-status{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:80%;padding:8px 10px;background:#173941f5;border:2px solid #b6cebb;color:#f1e8c9;font-size:14px;z-index:5}#route-status button{min-height:44px;flex-shrink:0}#route-destination{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:650px){.vault-encounters{grid-template-columns:1fr}.vault-encounters .card{display:grid;grid-template-columns:80px 1fr;gap:8px}.vault-encounters .enemy-portrait{grid-row:span 3;width:80px;height:90px}.vault-encounters button{grid-column:1/-1}.vault-encounters h3,.vault-encounters p{margin:0}.vault-stages{grid-template-columns:1fr}.vault-heading{padding:16px}.vault-heading h3{font-size:30px}.regional-card{padding:14px}.expedition-nav button{min-height:44px;white-space:normal}.form-grid input,.form-grid select,#market-search{font-size:16px;min-height:44px;max-width:100%}body.pad-left .touch-pad{left:11px;right:auto}body.pad-left .chat{right:11px;left:auto}#route-status{bottom:170px;max-width:94%;width:94%;justify-content:space-between}.achievement-plaque{overflow-wrap:anywhere}}
/* Crown Launchpad uses the exchange's navy ledger and brass details. */
.launch-releases{display:grid;gap:20px;margin:18px 0}.launch-release,.launch-review{border:2px solid #9d8b62;background:#f0e7ce;padding:20px;min-width:0}.launch-release-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid #bfb190;padding-bottom:14px}.launch-release-head h3,.launch-review h3{font:30px Pixel;margin:8px 0;overflow-wrap:anywhere}.launch-release-head p{margin:0}.launch-release-head .item-art{flex-shrink:0;width:64px;height:64px}.launch-backing{display:grid;gap:8px;padding:16px;background:#253c4b;color:#fbf0ce;margin:16px 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.launch-backing span{font-size:14px}.launch-backing button{justify-self:start}.launch-quotes{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}.launch-quotes span{display:grid;gap:8px;font-size:14px}.launch-quotes strong{font-size:20px}.launch-create{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.launch-create label,.launch-redeem label{display:grid;gap:8px;min-width:0}.launch-create label:nth-child(-n+2),.launch-create .notice,.launch-create>button{grid-column:1/-1}.launch-create input,.launch-create select,.launch-redeem input{min-width:0;width:100%;min-height:46px;font-size:16px;box-sizing:border-box}.launch-review dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #bcaf92}.launch-review dd{margin:0;text-align:right;font-weight:700}.launch-review p,.launch-release p{line-height:1.6}.launch-redeem{display:flex;align-items:end;gap:12px;margin:16px 0}.launch-redeem label{flex:1}.launch-redeem button{min-height:46px;flex:1}.launch-empty{padding:24px;border:2px dashed #9b8f6c;margin:20px 0}.launch-empty h3{font:28px Pixel}.launch-release button,.launch-review button{min-height:46px;white-space:normal}.launch-release .form-grid{flex-wrap:wrap}
@media(max-width:650px){.launch-release,.launch-review{padding:14px}.launch-release-head{gap:10px}.launch-release-head h3{font-size:26px}.launch-release-head .item-art{width:48px;height:48px}.launch-release .form-grid{display:grid;grid-template-columns:1fr}.launch-redeem{flex-wrap:wrap}.launch-redeem label,.launch-redeem button{flex-basis:100%}.launch-quotes strong{font-size:18px}.launch-backing{padding:12px}.launch-review dl>div{flex-wrap:wrap}.launch-create select{max-width:100%}.launch-release-head>div{min-width:0}}
/* Fishing journal: illustrated catch cards, readable ink and river-green controls. */
#panel.fishing-dialog{width:min(1080px,calc(100vw - 24px))}.fishing-dialog #panel-body{background:#f3ecd9;background-image:none;padding:22px}.angler-journal{font:16px/1.5 system-ui,sans-serif;color:#263e3d}.angler-summary{display:flex;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px solid #cabf9f;margin-bottom:18px}.angler-summary>div:first-child{flex:1}.angler-summary span{display:block;font-size:14px;color:#56685f}.angler-summary>div:first-child>span{font:13px Pixel;letter-spacing:1.5px;margin-bottom:6px}.angler-summary strong{font:26px/1.2 Pixel;display:block;color:#264b44}.angler-summary b{font:28px Pixel}.angler-tabs{display:flex;gap:0;margin-bottom:18px;padding:4px;background:#dcd6c1;border:1px solid #b4b49a}.angler-tabs button{flex:1;min-height:46px;border:0;box-shadow:none;background:none;color:#40574e;font:18px Pixel}.angler-tabs button[aria-pressed=true]{background:#2e5b51;color:#fff3ce;box-shadow:0 2px 3px #18342e33}.angler-location{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:18px}.angler-location select{width:65%;max-width:100%;font:16px system-ui;min-height:44px;background:#fff9e8;border:1px solid #b9b59b}.fish-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.fish-card{min-width:0;overflow:hidden;background:#fffaf0;border:1px solid #c4c3ab;box-shadow:0 3px 0 #d9d0b8}.fish-illustration{position:relative;display:grid;place-items:center;height:176px;border-bottom:1px solid #cfceb8;background:#e2eadb}.fish-card.uncommon .fish-illustration{background:#dcebee}.fish-card.rare .fish-illustration{background:#f3e8c9}.fish-card.legendary .fish-illustration{background:#e7e1f2}.fish-portrait{width:180px;height:180px;position:relative;overflow:hidden;flex-shrink:0;isolation:isolate}.fish-portrait img{position:absolute;width:200%;height:200%;max-width:none;image-rendering:pixelated;display:block;object-fit:fill}.fish-rarity{position:absolute;top:12px;left:12px;z-index:1;background:#fffaf0ed;border:1px solid #879e80;padding:3px 9px;color:#3c603e;font-size:13px}.uncommon .fish-rarity{border-color:#7b9aa0;color:#375c66}.rare .fish-rarity{border-color:#b4a064;color:#705b20}.legendary .fish-rarity{border-color:#9984b8;color:#65448b}.fish-card-body{padding:16px}.fish-card-title h3{font:27px/1.15 Pixel;margin:0 0 5px;color:#25463e}.fish-caught{font-size:14px;color:#697267}.fish-caught.discovered{color:#296e50}.fish-facts{display:grid;grid-template-columns:.7fr .7fr 1.2fr;gap:8px;margin:14px 0;padding:13px 0;border-top:1px solid #dfdac9;border-bottom:1px solid #dfdac9}.fish-facts dt{font-size:14px;color:#5b6a60}.fish-facts dd{margin:3px 0 0;font-size:17px;font-weight:650;white-space:nowrap}.fish-habitat{font-size:14px;line-height:1.5;margin:0;color:#54695d}.fish-habitat strong{font-weight:600}.angler-footer,.angler-supplies{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.angler-footer button,.angler-supplies button{flex:1;min-height:46px;white-space:normal;font-size:16px}.angler-water{padding:24px;background:#234d51;color:#fcf1cd;border:1px solid #587b73}.angler-water h3{font:30px/1.2 Pixel;margin:12px 0}.angler-water p{font-size:16px;line-height:1.6;color:#e3ecda}.angler-water .overline{color:#c3d6b6;font-size:14px}.angler-kit{display:flex;gap:32px;margin:20px 0}.angler-kit span{font-size:16px}.angler-kit b{margin-left:10px;color:#ffe5a2}.angler-actions{display:flex;gap:10px}.angler-actions button{flex:1;min-height:48px;font:19px Pixel;white-space:normal}.angler-water p.angler-hint{font-size:14px;margin-bottom:0}.angler-subhead{font:26px Pixel;margin:25px 0 10px}.fish-waterline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fish-waterline>div{display:grid;justify-items:center;text-align:center;min-width:0;padding-bottom:12px;background:#e1e9dc;border:1px solid #bac8b6}.fish-waterline .fish-portrait{width:100%;height:auto;aspect-ratio:1}.fish-waterline strong,.fish-waterline span{font-size:14px;padding:0 5px}.fish-waterline span{color:#56675c;margin-top:3px}.angler-live{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#f7e6ad;padding:12px;margin-bottom:18px;border:1px solid #b6a05a}.angler-live button{min-height:44px}
@media(max-width:1000px){.fish-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fishing-dialog #panel-body{padding:16px}.angler-summary{gap:12px;padding-bottom:14px;margin-bottom:14px}.angler-summary strong{font-size:22px}.angler-summary b{font-size:23px}.angler-summary span{font-size:14px}.angler-summary>div:first-child>span{font-size:12px}.angler-tabs{margin-bottom:14px}.angler-location{gap:8px;margin-bottom:14px}.angler-location select{width:70%;font-size:14px!important}.fish-collection{gap:10px}.fish-illustration{height:133px}.fish-portrait{width:140px;height:140px}.fish-card-body{padding:11px}.fish-card-title h3{font-size:23px}.fish-caught{font-size:14px}.fish-rarity{top:8px;left:8px;font-size:12px;padding:2px 6px}.fish-facts{grid-template-columns:1fr 1fr;margin:10px 0;gap:8px;padding:9px 0}.fish-facts>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.fish-facts dd{font-size:16px;margin-top:0}.fish-facts dt,.fish-habitat{font-size:14px}.angler-footer button{flex-basis:40%}.angler-water{padding:18px}.angler-water h3{font-size:26px}.angler-actions{flex-wrap:wrap}.angler-actions button{flex-basis:100%}.fish-waterline{grid-template-columns:repeat(2,minmax(0,1fr))}.angler-supplies{margin-top:14px}}
@media(max-width:360px){.fish-collection{grid-template-columns:1fr}.fish-illustration{height:170px}.fish-portrait{width:178px;height:178px}.fish-facts{grid-template-columns:1fr 1fr 1fr}.fish-facts>div:last-child{grid-column:auto;display:block}.fish-card-title h3{font-size:26px}}
/* Wallet sign-in uses Heartlands colors and readable phone controls. */
.chain-chip{font:14px/1.4 Arial,sans-serif;letter-spacing:1px;color:#355439}.wallet-choice.solana{border-color:#677849;background:#e4e6c7}.wallet-choice.solana strong{font-size:26px}.wallet-choice.solana small{font:14px/1.5 Arial,sans-serif;color:#45553b}.wallet-dialog .wallet-intro>p,.wallet-dialog .wallet-note,.wallet-dialog .wallet-progress,.wallet-dialog .wallet-error{font:16px/1.6 Arial,sans-serif;color:#394735}.wallet-dialog .wallet-permissions{font:14px/1.4 Arial,sans-serif;flex-wrap:wrap}.wallet-download{display:inline-block;font:15px/1.5 Arial,sans-serif;color:#304d32;min-height:44px}.wallet-help{flex-wrap:wrap}.wallet-help button{font-size:15px;min-height:44px}.wallet-pairing{text-align:center;font:16px/1.5 Arial,sans-serif}.wallet-pairing img{display:block;max-width:100%;height:auto;margin:16px auto;image-rendering:auto}.wallet-pairing a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px;background:#304d32;color:#fff}.wallet-dialog .wallet-choice button:disabled{opacity:.65}
@media(max-width:380px){.townlife-chip{max-width:calc(100% - 140px)}.wilds-chip{left:12px;top:146px}#next-objective{top:199px;max-width:calc(100% - 140px)}#online-roster{top:272px;max-width:calc(100% - 140px)}}
.quantity-strip{display:flex;align-items:center;gap:8px;margin:16px 0;flex-wrap:wrap}.quantity-strip>span{margin-right:auto;font-size:16px}.quantity-strip button{min-width:48px;min-height:44px}.quantity-strip button[aria-pressed=true]{background:#284d43;color:#fff2c7;border-color:#b89550}.market-head label,.bag-search{display:flex;flex-direction:column;gap:8px;width:100%;font-size:16px}.market-head input,.bag-search input{width:100%;min-width:0;min-height:44px;font-size:16px}.backpack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.backpack-item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;min-height:132px;padding:12px 8px;white-space:normal}.backpack-item strong{font:16px Pixel;overflow-wrap:anywhere}.backpack-item>span:last-child{font:14px Arial;color:#d4dccd}.backpack-item .item-art{width:44px;height:44px}.goal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goal-cards .card{min-width:0}.goal-cards h3{font-size:26px;margin:8px 0 12px}.goal-cards p{font-size:16px;line-height:1.55;overflow-wrap:anywhere}.goal-cards .form-grid button{flex:1 1 130px}.connection-message{padding:12px 16px;background:#493e25;color:#fff0b9;border:2px solid #ddbc69;font-size:16px;line-height:1.4;margin-bottom:14px}.connection-banner{position:fixed;z-index:12;top:80px;left:50%;transform:translateX(-50%);width:min(580px,calc(100% - 24px));box-shadow:0 4px 12px #0007}#close-panel{min-width:44px;min-height:44px;flex-shrink:0}.game-token-card .token-utilities{padding-left:22px;line-height:1.6}.game-token-card .token-utilities li{margin:8px 0}
@media(max-width:650px){.backpack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-cards{grid-template-columns:1fr}.goal-cards .card{padding:16px}.item-row:has([data-merchant]),.item-row:has([data-store]){flex-wrap:wrap}.item-row:has([data-merchant]) .item-actions,.item-row:has([data-store]) .item-actions{width:100%;display:flex;gap:8px}.item-row:has([data-merchant]) .item-actions button,.item-row:has([data-store]) .item-actions button{flex:1;min-height:44px}.angler-location select{font-size:16px!important}.connection-banner{top:64px}#game{grid-template-rows:minmax(0,1fr) calc(65px + env(safe-area-inset-bottom))}.actionbar{padding-bottom:env(safe-area-inset-bottom)}.quantity-strip{gap:6px}}

#panel>header>div{min-width:0;flex:1}#panel-title{overflow-wrap:anywhere}#panel>header{gap:12px}@media(max-width:380px){#panel-title{font-size:25px}}

.wallet-downloads{display:flex;gap:20px;flex-wrap:wrap}.wallet-browser-link{display:flex;align-items:center;min-height:44px;padding:5px 12px;font:14px/1.5 Arial,sans-serif;color:#304d32;text-underline-offset:3px}.wallet-choice.phantom{border-color:#857caa}.wallet-choice.solflare{border-color:#9b884f}

/* Item coins use the same illustrated goods and timber-and-paper market UI. */
.pump-intro h3{font-size:30px;margin:12px 0}.pump-intro p,.pump-form p,.pump-card p,.pump-claim p,.pump-metadata{font:16px/1.6 Arial,sans-serif}.pump-form{display:grid;gap:16px}.pump-form label,.pump-card label,.pump-claim label{display:grid;gap:8px;min-width:0;font:16px/1.4 Arial,sans-serif}.pump-form input,.pump-form select,.pump-card input,.pump-claim input{box-sizing:border-box;width:100%;min-width:0;min-height:46px;font:16px Arial,sans-serif}.pump-item-preview{display:flex;align-items:center;gap:16px;background:#e5e5cc;border:1px solid #a8b396;padding:16px}.pump-item-preview .item-art{width:64px;height:64px;flex-shrink:0}.pump-item-preview strong{display:block;font-size:25px}.pump-item-preview span{display:block;font:14px/1.5 Arial,sans-serif;margin-top:4px}.pump-form .form-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:0}.pump-metadata{border:1px solid #bdad8b;padding:12px;background:#eee4ca}.pump-metadata summary{cursor:pointer;display:flex;align-items:center;min-height:44px}.pump-metadata label{margin:14px 0}.pump-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pump-card,.pump-claim{min-width:0;padding:20px;margin:16px 0;background:#eee5cd;border:1px solid #b6a787;border-bottom:5px solid #786744}.pump-card>.item-art{width:64px;height:64px;display:block;margin-bottom:14px}.pump-card h3{font-size:26px;overflow-wrap:anywhere}.pump-card h3 small{font:14px Arial,sans-serif;display:block;margin-top:8px}.pump-card .tag{white-space:normal;line-height:1.5}.pump-card .wallet-address{font:13px/1.6 ui-monospace,monospace;overflow-wrap:anywhere;word-break:break-all}.pump-claim{background:#e1e7d3;border-color:#9fae8d;border-bottom-width:1px}.pump-card form,.pump-claim form{display:grid;gap:12px;margin:20px 0}.pump-card button,.pump-claim button,.pump-form button{min-height:46px;white-space:normal;overflow-wrap:anywhere}.pump-card a,.pump-claim a{color:#315c46;display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.pump-claim>strong{font-size:22px}
@media(max-width:650px){.pump-cards{grid-template-columns:1fr}.pump-form .form-grid{grid-template-columns:1fr}.pump-card,.pump-claim{padding:14px}.pump-intro h3{font-size:26px}.pump-item-preview{padding:12px;gap:10px}.pump-item-preview strong{font-size:22px}}

/* Community link remains reachable from the landing and settings screens. */
.community-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:8px 0;font:14px/1.4 Pixel;color:#3d4f2e;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;touch-action:manipulation}.community-link:hover{text-decoration-thickness:2px}.community-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}.community-link>span{flex-shrink:0}.launch-social{margin-top:8px}.launch-social .community-link{color:#d6b36f}.community-links{margin:0 0 16px}

.ai-city{color:#34442d;min-width:0;overflow-wrap:anywhere}
.ai-guide{border:2px solid #a1a577;background:#d9d7b3;padding:16px;margin:16px 0}.ai-guide h4,.ai-report-form h4{font:23px/1.3 Pixel,monospace;margin:0}.ai-guide>.ai-row{justify-content:space-between}.ai-guide>.ai-row button{font:12px Arial,sans-serif}.ai-guide ol{list-style:none;margin:18px 0;padding:0;display:grid;gap:12px}.ai-guide li{display:flex;align-items:flex-start;gap:12px;padding:9px;border-left:3px solid transparent}.ai-guide li[aria-current=step]{background:#f4e9c6;border-color:#577246}.ai-step-number{background:#647c4f;color:#fff4d2;flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;font:17px Pixel,monospace}.ai-guide strong{font:13px/1.6 Arial,sans-serif}.ai-guide li p{font:12px/1.7 Arial,sans-serif;margin:3px 0;color:#626d4c}.ai-resident-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.ai-resident-controls button,.ai-report-link{min-height:44px;font:12px Arial,sans-serif}.ai-report-link{display:block;margin-top:10px;background:transparent;color:#586644;box-shadow:none;border:1px solid #a9a577}.ai-city .ai-report-form{border:2px solid #9da575;background:#eee2bd;padding:18px;margin:18px 0}.ai-recovery-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.ai-recovery-actions button{min-height:44px;font:12px Arial,sans-serif}.ai-guide button{white-space:normal}.ai-guide .ai-small:last-child{margin-bottom:0}
.ai-town-banner{padding:24px;border:3px solid #6f8150;background:linear-gradient(120deg,#263b2d,#4e6643);color:#f6e9bf;box-shadow:inset 0 0 0 2px #b3bd7730;margin-bottom:18px}
.ai-town-banner h3{font:32px/1.2 Pixel,monospace;margin:12px 0}.ai-town-banner p{font:13px/1.7 Arial,sans-serif;color:#d9ddb6;max-width:540px;margin:0}
.ai-eyebrow{display:block;font:9px/1.6 Pixel,monospace;letter-spacing:1.1px;color:#788157}.ai-town-banner .ai-eyebrow{color:#c6d098}
.ai-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:16px 0 24px}.ai-tabs button{padding:13px 7px;font:14px Pixel,monospace;background:#d7cba5;color:#586341;border:2px solid #a59e70;min-width:0;white-space:normal;min-height:46px}.ai-tabs button.active{background:#536c41;border-color:#334b2e;color:#fff0c4;box-shadow:inset 2px 2px #96a56366}
.ai-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:10px 0 20px}.ai-section-heading h3{font:27px/1.25 Pixel,monospace;margin:0 0 10px}.ai-section-heading p{font:13px/1.7 Arial,sans-serif;margin:0;color:#737254}.ai-count{font:17px Pixel,monospace;white-space:nowrap;padding:10px;border:2px solid #9ca574;background:#d3d2a7}
.ai-city label{display:grid;gap:7px;font:12px/1.5 Arial,sans-serif;color:#5f684b;min-width:0}.ai-city input:not([type=checkbox]),.ai-city select,.ai-city textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:2px solid #aba37c;background:#f6eed5;color:#33442d;border-radius:0;padding:12px;font:14px/1.5 Arial,sans-serif}.ai-city select{min-height:46px;text-overflow:ellipsis}.ai-city textarea{min-height:88px;resize:vertical}.ai-city input:focus,.ai-city select:focus,.ai-city textarea:focus{outline:2px solid #627a4b;outline-offset:2px}.ai-city button:focus-visible,.ai-city a:focus-visible{outline:3px solid #8b643b;outline-offset:3px}
.ai-search-label{margin:0 0 20px}.ai-resident-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-resident-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:13px;padding:18px;border:2px solid #b0a679;background:#e0d6b3;box-shadow:inset 2px 2px #fff1c655}.ai-resident-card[hidden]{display:none}.ai-resident-card h3{font:25px/1.2 Pixel,monospace;margin:6px 0}.ai-resident-card p{font:12px/1.5 Arial,sans-serif;margin:6px 0;color:#6f7351}.ai-avatar{image-rendering:pixelated;display:block;max-width:100%;background:#b7c19740;border-bottom:3px solid #8d9b6580;align-self:start}.ai-mode{display:inline-block;font:10px/1.5 Arial,sans-serif;color:#657347;border:1px solid #a5b17d;background:#d2d7ab;padding:3px 7px;max-width:100%;overflow-wrap:anywhere}.ai-actual{color:#305c54;background:#c8dfcb;border-color:#92b9a0}.ai-resident-card blockquote{grid-column:1/-1;margin:0;border-left:3px solid #9d9f67;padding:10px 12px;background:#f1e7c790;font:12px/1.65 Arial,sans-serif;color:#59623f}.ai-card-actions{display:flex;gap:8px;grid-column:1/-1}.ai-card-actions button{flex:1;font-size:13px;padding:11px 8px;white-space:normal;min-width:0}
.ai-empty{grid-column:1/-1;padding:30px 22px;text-align:center;background:#d8cfaa60;border:2px dashed #a5a074}.ai-empty h3{font:25px/1.3 Pixel,monospace;margin:5px 0 12px}.ai-empty p{font:13px/1.8 Arial,sans-serif;max-width:460px;margin:0 auto 20px;color:#737253}.ai-empty button{min-height:46px}
.ai-city .ai-small{font:11px/1.7 Arial,sans-serif;color:#767557;margin:8px 0 14px}.ai-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ai-row>label{flex:1;min-width:150px}.ai-row>a,.ai-draft-card>a{font:12px/1.6 Arial,sans-serif;color:#4e6950;text-underline-offset:3px}.ai-row button{min-height:45px}.ai-model-picker{padding:16px;background:#d2cca755;border:2px solid #b7b084;margin:18px 0}.ai-model-picker>.ai-row{align-items:flex-end;margin-bottom:14px}.ai-model-picker>.ai-row>button{min-width:82px}.ai-model-picker>label{margin-bottom:10px}.ai-model-picker option:disabled{color:#8c8575}
.ai-create-intro,.ai-detail-heading{display:flex;align-items:center;gap:21px;margin:18px 0 24px}.ai-create-intro>.ai-avatar,.ai-detail-heading>.ai-avatar{flex-shrink:0}.ai-create-intro h3,.ai-detail-heading h3{font:31px/1.2 Pixel,monospace;margin:8px 0 11px}.ai-create-intro p,.ai-detail-heading p{font:13px/1.7 Arial,sans-serif;color:#6c7250;margin:8px 0}.ai-city form{display:grid;gap:17px}.ai-form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ai-launch-note{padding:18px;border:2px solid #ada174;background:#e7d5a060;font:12px/1.75 Arial,sans-serif;color:#706348}.ai-launch-note strong{color:#5c6745}.ai-launch-note p{margin:8px 0 0}.ai-city .primary{min-height:48px;white-space:normal}.ai-city button[disabled]{opacity:.55;cursor:not-allowed}
.ai-progress,.ai-warning,.ai-success{padding:14px 16px;border:2px solid #9aa572;background:#d5d8ae;font:12px/1.75 Arial,sans-serif;margin:14px 0;color:#526342}.ai-warning{border-color:#b2986d;background:#e8d5ae;color:#755631}.ai-warning p{margin:7px 0 0}.ai-success{background:#d4dfb9;border-color:#91a66b;color:#4b6540}
.ai-back{font:12px Arial,sans-serif;background:none;border:0;box-shadow:none;color:#586b43;padding:5px 0;margin-bottom:12px}.ai-speech{margin:20px 0;padding:20px;border-left:4px solid #8b9961;background:#f5eccc;font:15px/1.8 Arial,sans-serif}.ai-detail-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin-top:22px}.ai-detail-columns h4{font:22px Pixel,monospace;margin:0 0 12px}.ai-memories{list-style:none;padding:0;margin:0}.ai-memories li{padding:12px 0;border-bottom:1px solid #b8b083}.ai-memories p{font:12px/1.7 Arial,sans-serif;margin:0 0 4px}.ai-memories time{font:10px Arial,sans-serif;color:#898162}.ai-skills{display:grid;gap:7px;margin-bottom:24px}.ai-skills>div{display:flex;justify-content:space-between;border-bottom:1px solid #b8b083;padding:6px 0;font:12px Arial,sans-serif}.ai-skills span{text-transform:capitalize}.ai-bonds{list-style:none;padding:0;font:12px/1.7 Arial,sans-serif}.ai-bonds li{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:9px 0}.ai-bonds button{font:12px Arial,sans-serif;background:none;box-shadow:none;border:0;padding:4px 0;color:#4f6846;text-align:left}.ai-bonds span{font-size:10px;white-space:nowrap}.ai-settings{margin:24px 0 0;padding:18px;border:2px solid #a9a47b;background:#d8d2b060}.ai-settings summary{cursor:pointer;font:20px Pixel,monospace}.ai-settings form{margin-top:19px}
.ai-event{padding:18px 0;border-bottom:2px solid #b7af81}.ai-event-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ai-event time{font:10px Arial,sans-serif;color:#898060;white-space:nowrap}.ai-event p{font:13px/1.8 Arial,sans-serif;margin:7px 0}.ai-event strong{color:#4b6546}.ai-event>small{font:10px/1.7 Arial,sans-serif;color:#8a7957}
.ai-draft-card{padding:22px;border:2px solid #a9a273;background:#e2d7b5;margin:18px 0}.ai-draft-selected{border-color:#63794d;box-shadow:inset 0 0 0 2px #94a66c55}.ai-draft-card h3{font:28px/1.3 Pixel,monospace;margin:10px 0 18px}.ai-draft-card h3 small{font:15px Pixel,monospace;color:#7a8056}.ai-draft-card>p,.ai-quote-details p{font:12px/1.8 Arial,sans-serif;color:#707352}.ai-fee-review{padding:18px;border:2px solid #9d9d67;background:#cbd1a655;margin:15px 0}.ai-fee-review>span{display:block;font:9px Pixel,monospace;letter-spacing:1px;color:#738053}.ai-fee-review>strong{font:27px/1.4 Pixel,monospace;display:block;margin:10px 0;color:#3b573a}.ai-fee-review small{font:13px Arial,sans-serif;color:#70774f}.ai-fee-review p{font:12px/1.8 Arial,sans-serif;color:#6c7050;margin:8px 0}.ai-quote-details{margin:15px 0;font:12px/1.7 Arial,sans-serif}.ai-quote-details summary{cursor:pointer}.ai-address{font:11px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.ai-city .ai-review-check{display:flex;align-items:flex-start;gap:12px;padding:12px 0 18px;font:12px/1.8 Arial,sans-serif}.ai-review-check input{margin:4px 0 0;accent-color:#5b7448;width:19px;height:19px;flex-shrink:0}.ai-verify-form{border-top:1px solid #afa679;margin:20px 0;padding-top:18px}.ai-verify-form button{min-height:45px}
@media(max-width:650px){.ai-resident-grid,.ai-detail-columns{grid-template-columns:1fr}.ai-town-banner{padding:20px 17px}.ai-town-banner h3{font-size:27px}.ai-form-columns{gap:12px}.ai-create-intro,.ai-detail-heading{gap:15px}.ai-create-intro h3,.ai-detail-heading h3{font-size:27px}.ai-section-heading h3{font-size:25px}.ai-resident-card{padding:16px}.ai-detail-columns{gap:24px}.ai-draft-card{padding:17px}.ai-model-picker{padding:13px}.ai-tabs{gap:5px}.ai-tabs button{font-size:12px}.ai-city input:not([type=checkbox]),.ai-city select,.ai-city textarea{font-size:16px}}
@media(max-width:380px){.ai-form-columns{grid-template-columns:1fr}.ai-town-banner h3{font-size:25px}.ai-tabs{grid-template-columns:1fr 1fr}.ai-create-intro>.ai-avatar{width:60px;height:68px}.ai-create-intro{gap:12px}.ai-create-intro h3{font-size:25px}.ai-detail-heading>.ai-avatar{width:70px;height:79px}.ai-fee-review{padding:13px}.ai-fee-review>strong{font-size:24px}.ai-row{gap:9px}.ai-row>label{min-width:110px}.ai-card-actions{flex-wrap:wrap}.ai-card-actions button{min-width:100px}}

.ai-token-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-token-card{padding:18px;border:2px solid #a9aa7c;background:#e5ddbe;min-width:0}.ai-token-heading{display:flex;gap:12px;align-items:center}.ai-token-heading canvas{flex-shrink:0}.ai-token-heading h4{font:25px/1.2 Pixel,monospace;margin:6px 0}.ai-token-heading p,.ai-token-role p{font:12px/1.7 Arial,sans-serif;margin:4px 0;color:#626e4e}.ai-token-role{border-left:3px solid #778e59;padding:8px 12px;margin:16px 0;background:#d4d7b4}.ai-token-role strong{font:19px Pixel,monospace}.ai-token-card details{font:12px/1.7 Arial,sans-serif;margin-bottom:14px}.ai-token-card summary{cursor:pointer}.ai-token-card .ai-row{gap:10px}.ai-token-card button{font:12px Arial,sans-serif;white-space:normal}@media(max-width:650px){.ai-token-directory{grid-template-columns:1fr}.ai-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:380px){.ai-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
