/* 像素探险 UI V3 · 2026-10-30 */
:root{--green:#487548;--muted:#687060;--line:#b8b39c;--ink:#352f2a;--paper:#fff7e4;--grass:#96bb66;--sky:#b9e2f5;color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif;background:#d9eddc}body{background:linear-gradient(#c2e3f2 0,#eaf1d8 620px);color:var(--ink)}button,input,select{font-family:inherit}button{font-weight:700}button,aside,header,.card,.pill,.chip,.primary,.secondary,.route-region,.route-scroll,.game-scene,.learning-dock,.choice,.growth-tabs,.growth-tabs button,.text-routes details,.wordrow,.notice,.file-label,.equipped,.mic-local,.unscored,.info-list,.rest-parent{border-radius:0!important}button{transition:transform .1s,background .1s;touch-action:manipulation}.pixel-icon{width:20px;height:20px;image-rendering:pixelated;flex-shrink:0}aside{background:#fff8e8;border-right:3px solid #4a4939;box-shadow:inset -4px 0 #e2d9ba;padding-top:30px}.logo{color:#37422f;font-size:16px}.logo small{color:#7a795f;font-family:monospace;font-size:8px}.logo-icon,.mini-mark{border-radius:0;background:#a6c778;color:#3e6339;border:2px solid #485d37;box-shadow:inset 3px 3px #c4dd9d,inset -3px -3px #7ca654,2px 2px #d5c9a5}.logo-icon svg{width:23px;height:23px}nav button{color:#6b6b54;border:2px solid transparent;gap:12px;font-size:14px}nav button.active{background:#e4edbd;color:#344c2f;border-color:#697f42;box-shadow:inset 3px 3px #f8ffdc,inset -3px -3px #bfd08b,3px 3px #d9d4b9}nav button span{color:#6b8549}.sidefoot{background:#eee6ca;border:2px solid #b9ae8a;border-radius:0;color:#7a705c;font-size:11px}.sidefoot strong{color:#5d6247}.workspace{padding-left:35px;padding-right:35px}header{height:89px;border-bottom:2px solid #9bb8a8}.header-brand{font-size:14px;color:#354c3b}.header-brand small{color:#687b6e}.profile{color:#53664b}.pill{border:2px solid #7c8b69!important;background:#fff9df!important;color:#596346!important;box-shadow:inset 2px 2px #fffdf1,2px 2px #94a98850}.points-pill{color:#8d6829!important;background:#ffedb4!important;border-color:#9e8744!important}.points-pill svg{width:15px;height:15px}.avatar{border-radius:0;box-shadow:inset 3px 3px #c8e4ac,inset -3px -3px #83aa78;border:2px solid #597752}.avatar i{border-radius:0;background:#355641;border:0;width:4px;height:5px}.avatar:after{border-radius:0;width:8px;height:3px;background:#4a724f}.eyebrow,.badge{font-family:ui-monospace,monospace;letter-spacing:1.5px;font-weight:700}.eyebrow{font-size:10px;color:#60754f}.intro h1{color:#35472f;font-size:29px;letter-spacing:1px;text-shadow:2px 2px #fff9df}.intro p{font-size:13px;color:#68765a}.intro>.pill{border:2px solid #9fa57b!important}.primary{background:#f2cd70;border:2px solid #57452d;color:#4c3d28;box-shadow:inset 3px 3px #fff1b7,inset -3px -3px #c29a47,0 5px #57452d;padding:13px 22px;border-radius:0}.primary:hover{background:#f8dc88}.primary:not(:disabled):active{transform:translateY(4px);box-shadow:inset 2px 2px #c29a47}.secondary{background:#e8ead9;border:2px solid #7c8567;color:#4e6342;box-shadow:inset 2px 2px #ffffed,inset -2px -2px #c8cfb5,0 3px #92987c}.secondary:hover{background:#f3f2de}.primary:disabled{opacity:.5}.card{background:var(--paper);border:2px solid #91876c;box-shadow:inset 3px 3px #fffef4,inset -3px -3px #e2d6b8,4px 4px #4d4a3312}.card p,p{color:#697057}.sectiontitle h2{font-size:18px;color:#3c4d35}.sectiontitle small{color:#70765d;font-size:11px}.chip{background:#dce8b4;color:#4c663c;border:2px solid #91a269;font-size:11px;box-shadow:inset 2px 2px #eef8ce}.route-home{padding-top:25px}.route-scroll{overflow-x:auto;overflow-y:hidden}.route-region{border:3px solid #4f6740;background:#d5edb8;box-shadow:inset 4px 4px #f3ffdf,inset -4px -4px #a9c783}.route-region-heading{padding:25px 30px}.route-region-heading h1{font-weight:900;color:#304b2e;text-shadow:2px 2px #edffd3;font-size:33px;letter-spacing:2px}.badge{background:#fff6d8;border:2px solid #8e9967;color:#657748;border-radius:0;box-shadow:2px 2px #80915c66;font-size:10px}.route-region-heading p{color:#456843;background:#eff9ddbc;padding:5px 7px;display:inline-block}.island-art{filter:saturate(.93) contrast(1.05);mask-image:none;image-rendering:pixelated}.route-landscape:after{background:linear-gradient(0deg,#b3d78830,transparent 35%)}.route-node{width:32px;height:32px;border-radius:0;background:#f9dd8e;color:#684b24;border:2px solid #624f2c;box-shadow:inset 2px 2px #fff8cf,inset -2px -2px #d2ae61,3px 3px #624f2c;font-family:monospace;font-weight:900}.route-node.current-node{animation:none;outline:3px solid #fffce7;outline-offset:3px}.route-node.visited{background:#88bc69;color:#fffde8;border-color:#4d7037;box-shadow:inset 2px 2px #c8e99f,3px 3px #4d7037}.route-forward{border-radius:0;background:#fff8dd;border:2px solid #9eae7a;color:#60774c;font-size:10px}.route-region .herobar{background:#fff7df;border-top:3px solid #6e8053;padding:24px 28px}.herobar strong{color:#405d38;font-size:16px}.herobar small{color:#7c785e;font-size:11px}.route-navigation{font-size:11px;color:#617454}.route-arrow{background:#fff7dc;color:#536e42;border:2px solid #7a8a61;box-shadow:inset 2px 2px #fffef3,2px 2px #99a57e}.game-page{margin-top:25px}.game-scene{border:3px solid #586c46;background:linear-gradient(#a1d8ef,#e1f0cf)}.game-hud{top:15px;left:15px;right:15px;font-size:11px}.game-hud span{display:flex;align-items:center;gap:7px;border-radius:0;background:#fff8de;border:2px solid #66784d;color:#4c5f3e;box-shadow:inset 2px 2px #ffffed,3px 3px #48613c30;padding:8px 11px}.game-hud svg{width:13px;height:13px}.game-hud span:last-child svg{color:#d87466}.sunpixel{border-radius:0;background:#ffec9d;box-shadow:0 0 0 8px #fff1bd40}.cloud,.cloud:before{border-radius:0;background:#fff6df}.ground{background:repeating-linear-gradient(90deg,transparent 0 40px,#80644318 40px 46px),repeating-linear-gradient(0deg,#ba996d 0 27px,#a9895e 27px 33px);border-top-color:#6b9247;box-shadow:0 -7px #9ac465}.pathline{background:#bad38b}.scene-caption{background:#fff8deb8;color:#4f6142;border:2px solid #a5b782;border-radius:0;font-size:11px}.oreblock{border-radius:0;border-color:#7d8d7e;background:#9baa98;box-shadow:7px -7px #cbd4bf,inset 4px 4px #bcc9b4}.oreblock .ore-word{border-radius:0;background:#fff9e7;color:#34573d;border:2px solid #9aab7f;box-shadow:inset 3px 3px #fffff3,4px 4px #697c4c44}.ore-word em{font-family:Georgia,serif;color:#61765b}.learning-dock{border:3px solid #586c46;border-top:0;background:#fff9e8;box-shadow:inset 4px 0 #f0e5c9,inset -4px 0 #f0e5c9,4px 4px #52623d16}.stage-dots i{background:#d8dfb7;border-radius:0;height:8px}.stage-dots .lit{background:#7d9f52}.test-head strong{color:#3c5639}.test-head span{color:#7b8068}.choice{background:#f2f0d9;border:2px solid #8a946b;box-shadow:inset 3px 3px #fffdf0,inset -3px -3px #d9dfb9,0 4px #697951;color:#405b35;min-height:57px;font-size:19px}.choice:hover{background:#e8eec6}.choice.selected{background:#c6dda1;border:2px solid #56753d;box-shadow:inset 3px 3px #ebf8cb,0 4px #56753d}.mic-local{background:#edf0d8;border:2px solid #a1ad7b;color:#5c6c47}.hint,.footnote{color:#737a62;font-size:10px}.notice{background:#f1e8c9;border:2px solid #b3a77f;color:#776545}.player-health,.monster-health{border:2px solid #423e34;border-radius:0;background:#e2d9bd;height:10px;box-shadow:1px 1px #fffce9}.player-health i{background:#ec8d7c;border-radius:0}.monster-health i{background:#8fb982}.pixelmonster{border-radius:0;border:4px solid #637478;background:#9baaaa;box-shadow:inset 4px 4px #c5d2c9,inset -5px -5px #7c8b91}.pixelmonster i,.pixelmonster b{border-radius:0}.monster-position>span{background:#f9edcf;color:#5b6650;border:2px solid #7e8b67;border-radius:0}.growth-tabs{border:2px solid #7c895f;background:#c4d69d;box-shadow:inset 3px 3px #e1eec1;padding:6px}.growth-tabs button{color:#526244;background:transparent;border:2px solid transparent}.growth-tabs button[aria-selected=true]{background:#fff5d7;color:#455d35;border:2px solid #798954;box-shadow:inset 2px 2px #fffef1,2px 2px #879a62}.growth-wish{background:#fff2c9;border:3px solid #ad8c4e;box-shadow:inset 4px 4px #fffce9,inset -4px -4px #e6cd91,4px 4px #a18b5420}.growth-wish h2{color:#69522c}.growth-wish .chip{background:#efcc78;color:#71582e;border-color:#b49650}.wish-numbers strong{color:#697c3e}.progress{border:2px solid #6d7954;background:#e2e1bc;height:14px;border-radius:0;padding:2px}.progress i{background:repeating-linear-gradient(90deg,#85af67 0 18px,#a8ca7b 18px 21px);border-radius:0}.statgrid .card strong{color:#5a7b40;font-family:ui-monospace,monospace}.data-category.chosen{background:#e6edc1;border:2px solid #71894b}.equipped{background:linear-gradient(90deg,#d6e6b3,#e9edce);border:3px solid #788e50;box-shadow:inset 4px 4px #f4fbdf,inset -4px -4px #b5ca8a}.equipped h2{color:#4b6039}.upgrade-next{background:#eee7c6;color:#6b6c49;border:2px solid #aba47b;border-radius:0}.text-routes details{background:#fff7df;border:2px solid #a19a7b;box-shadow:inset 2px 2px #fffdf1}.text-routes summary{color:#5c6d45}.text-routes .route-equipped{background:#dfebbd}.text-routes li strong{color:#49603a}.text-routes li span{color:#73775e}.wordrow{background:#fffaea;border:2px solid #d1ccb1;color:#526447}.wordrow small{color:#7c8069}.page-settings{background:#fffdf6;box-shadow:inset 0 0 0 1px #efe9d8}.page-settings header{border-color:#cbd0b9}.settings-grid>.card{background:#fffef8;border:2px solid #bbb69f;box-shadow:inset 3px 3px #ffffff,inset -3px -3px #ede9da}.settings-grid h2{color:#4d6144;font-size:18px}.settings-grid .sectiontitle .secondary{border:2px solid #9da58c;box-shadow:inset 2px 2px white;background:#edf0e3;font-size:11px}.info-list>div{border-color:#e2dfcf}.info-list dt{color:#828470}.info-list dd{color:#4f6247}.field{color:#626d52}.field input,.field select{border-radius:0;background:#fffdf3;border:2px solid #b8b79d;color:#4e6045;box-shadow:inset 2px 2px #e9e7d4}.file-label{background:#f4f4e8;border:2px dashed #a2aa8a;color:#6b7658}.break{background:#eaf0d9f7}.rest-inner h2{color:#455d38}.rest-inner p{color:#687b58}.rest-inner .timer{font-family:monospace;color:#628341}.rest-parent{border:2px solid #909e70;background:#fff9e6}.familiar-card{border:2px solid #b3bb94;border-radius:0;background:#e9f0d3}.familiar-0{background:#f7e9c9;border-color:#c2aa7c}.familiar-card strong{color:#5d7549}.avatar,.pixelactor,.oreblock,.pixelmonster{image-rendering:pixelated}button:focus-visible,a:focus-visible{outline:3px solid #f0a35c;outline-offset:4px}
@media(max-width:760px){aside{height:80px;background:#fff7e3;border-top:3px solid #65794a;border-right:0;box-shadow:inset 0 4px #ffffef;backdrop-filter:none}nav button{padding:7px 10px;min-width:68px;font-size:10px;gap:6px}nav button.active{box-shadow:inset 2px 2px #f9ffdd,inset -2px -2px #b5c886}nav svg{width:21px;height:21px}.workspace{padding-left:16px;padding-right:16px}header{height:77px}.header-brand{font-size:12px}.profile>.pill.points-pill{padding:5px 8px}.profile>span:last-child{font-size:10px}.intro{margin:26px 0 20px}.intro h1{font-size:26px}.intro p{font-size:12px}.route-home{padding-top:18px}.route-region-heading{padding:22px 20px 0}.route-region-heading h1{font-size:29px}.route-region-heading p{font-size:11px;padding:0;background:transparent}.badge{font-size:9px;letter-spacing:1px;padding:7px 8px}.route-region .herobar{padding:20px 16px;gap:12px}.herobar strong{font-size:14px}.herobar small{font-size:10px;max-width:140px}.primary{font-size:13px;padding:12px 16px}.route-node{width:27px;height:27px}.route-forward{font-size:8px;padding:5px 7px;right:11px}.route-navigation{font-size:10px;gap:15px}.game-page{margin-top:18px}.sectiontitle h2{font-size:16px}.game-hud{font-size:8px;top:12px;left:10px;right:10px}.game-hud span{padding:6px 7px;gap:4px}.game-hud svg{width:10px;height:10px}.scene-caption{font-size:9px;padding:7px}.staged-learning .learning-dock{padding:18px 15px}.test-mode .learning-dock{padding:14px}.test-mode .choice{min-height:51px;font-size:18px}.test-mode .test-head span{font-size:9px}.test-mode #speechstatus{font-size:12px}.mic-local{font-size:10px}.hint,.footnote{font-size:9px}.growth-tabs button{font-size:14px}.growth-wish h2{font-size:23px}.growth-wish{padding:23px 20px}.settings-grid>.card{padding:22px 18px}.settings-grid h2{font-size:17px}.field{font-size:12px}.equipped{padding:26px 20px}.equipped h2{font-size:18px}.equipped p{font-size:11px}.chip{font-size:9px}.card{padding:20px}.route-landscape{overflow:hidden}}
