@font-face{font-family:system;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f4eddd;color:#183d3b;font-family:system,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:12px 16px;min-height:44px;background:#e9dfc8;color:#183d3b;font-weight:700;transition:filter .15s,transform .15s}button:hover{filter:brightness(1.05)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e89a30;outline-offset:2px}.primary{background:#146768;color:white}.gold{background:#f1bd55}.danger{background:#a04435;color:white}header{height:88px;display:flex;align-items:center;gap:16px;padding:12px 24px;background:#123f40;color:#fff3d9;box-shadow:0 3px 12px #123f4022}.brand{display:flex;align-items:center;gap:10px;font-weight:950;font-size:23px;letter-spacing:1px;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#e9bc67}.rice-logo{font-size:38px}#hud{display:flex;gap:10px;margin-left:auto}.stat{padding:7px 16px;border-radius:12px;background:#ffffff10}.stat small{display:block;font-size:11px;color:#cbd7c6}.stat b{font-size:19px}header button{background:#ffffff15;color:white}main{height:calc(100dvh - 180px);min-height:390px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:16px 24px}.world{position:relative;overflow:hidden;border-radius:22px;background:#bed6c2;box-shadow:0 4px 14px #40523b20}canvas{width:100%;height:100%;display:block}.scene-tag{position:absolute;left:18px;top:16px;border-radius:30px;padding:10px 16px;background:#fff5dcf0;font-weight:800;font-size:13px}aside{background:#fff9ec;border-radius:20px;padding:16px;overflow:auto}.section-title{display:flex;align-items:center;justify-content:space-between}h2{font-size:20px;margin:0 0 16px}h3{margin:0 0 8px}.order{background:white;border:1px solid #e8e2d2;border-radius:15px;padding:12px;margin-bottom:12px}.order .head{display:flex;justify-content:space-between;font-size:12px;color:#6d7770}.order .food{font-size:16px;margin:10px 0}.order button{width:100%;padding:8px}progress{width:100%;height:8px;accent-color:#2b9a7b}nav{height:92px;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 24px}nav button{display:flex;align-items:center;justify-content:center;gap:9px;font-size:24px;background:#fff9ec;border:1px solid #d9d3be;flex:1;max-width:220px}nav span{font-size:13px}nav .primary{background:#146768;font-size:16px}#guide{position:absolute;bottom:18px;left:18px;max-width:420px;padding:12px 18px;border-radius:14px;background:#fff9ecef;box-shadow:0 3px 15px #16382d20;font-size:13px;line-height:1.6}#guide b{display:block;color:#146768;font-size:15px}#job{position:absolute;right:18px;bottom:18px}#job button{background:#f1bd55;box-shadow:0 3px 15px #16382d30}#toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:#143d3bf0;color:white;padding:14px 22px;border-radius:14px;z-index:20;max-width:85vw;display:none;font-size:14px}dialog{width:min(760px,92vw);max-height:88dvh;border:0;border-radius:22px;background:#fff9ec;color:#183d3b;padding:26px;box-shadow:0 20px 80px #123f4066}dialog::backdrop{background:#123c3bc0;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:16px;border:1px solid #e3dcc8;background:white;border-radius:15px}.card p{font-size:13px;line-height:1.6;margin:8px 0;color:#63716c}.card .row{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:8px 0}.card button{font-size:13px}.muted{color:#718079;font-size:13px;line-height:1.6}.hero{text-align:center;padding:16px}.hero .rice-logo{font-size:75px}.hero h1{font-size:40px;line-height:1.05;margin:12px 0;color:#146768}.hero p{max-width:450px;margin:16px auto;color:#66776c;line-height:1.7}.hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}input,select{padding:10px;border-radius:10px;border:1px solid #cacdbc;background:#fff;color:#183d3b;min-height:44px;max-width:100%}label{display:block;font-size:13px;margin:12px 0}label input,label select{display:block;width:100%;margin-top:7px}.finance-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee5d2}.finance-row.total{font-weight:800;font-size:20px;border:0}.badge{display:inline-block;background:#edf4e9;color:#31755a;padding:5px 10px;border-radius:20px;font-size:11px}.warn{background:#fff0d4;color:#925812}.wide{grid-column:1/-1}.menu-actions{display:grid;gap:10px}.collector{border:2px solid #dfad52;padding:12px;border-radius:12px;background:#fff2d4}.collector button{margin-top:8px;width:100%}#saveStatus{font-size:12px;margin-top:10px}.rainbow{color:#bd6830}.report h3{font-size:30px}.report .gain{color:#278f67}.report .loss{color:#a04435}@media(max-width:1000px){header{height:72px;padding:8px 12px;gap:8px}.brand{font-size:17px}.brand small{font-size:8px}.rice-logo{font-size:25px}.stat{padding:5px 8px}.stat b{font-size:15px}main{padding:10px 12px;gap:10px;grid-template-columns:minmax(0,1fr) 240px;height:calc(100dvh - 148px);min-height:280px}nav{height:76px;padding:8px 12px;gap:6px}nav button{font-size:18px;padding:9px 8px}nav span{font-size:11px}#guide{font-size:11px;max-width:280px}aside{padding:12px}}@media(max-width:700px){.brand small{display:none}.brand{font-size:12px;letter-spacing:0}header #hud .stat:nth-child(3){display:none}header button{padding:8px}.stat b{font-size:12px}main{grid-template-columns:minmax(0,1fr) 190px}.order{padding:9px}.order .food{font-size:13px}nav button{gap:4px}nav span{font-size:10px}.grid{grid-template-columns:1fr}.scene-tag{font-size:11px;left:9px;top:9px;padding:6px 10px}#guide{left:9px;bottom:9px;max-width:220px;padding:8px 10px}#job{right:9px;bottom:9px}.hero h1{font-size:30px}}@media(orientation:portrait) and (max-width:700px){main{height:auto;min-height:0;grid-template-columns:1fr}.world{height:45dvh}aside{max-height:30dvh}nav{height:auto;flex-wrap:wrap}nav button{min-width:28%;max-width:none}.brand{font-size:13px}header{gap:6px}.stat small{font-size:9px}}

@media(max-width:400px){header{height:auto;flex-wrap:wrap;justify-content:center;gap:6px}.brand{width:100%;justify-content:center;font-size:16px}#hud{margin-left:0}.stat{padding:4px 8px}header button{min-width:44px}.world{height:44dvh}nav{padding:8px}nav button{min-width:30%;padding:7px}.hero h1{font-size:26px}}
