:root{--bg-deep: #1a1611;--bg-panel: rgba(32, 28, 22, .94);--bg-hover: rgba(65, 55, 40, .35);--border: rgba(120, 100, 70, .22);--border-accent: rgba(180, 155, 100, .45);--text: #c8bfb0;--text-dim: #8a7f6e;--text-bright: #e8e0d0;--accent: #c4a86c;--accent-glow: rgba(196, 168, 108, .18);--danger: #a84032;--danger-bg: rgba(140, 45, 30, .22);--gold: #d4b44a;--radius: 4px;--radius-sm: 3px;--font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg-deep);background-image:radial-gradient(ellipse at 30% 10%,rgba(50,42,30,.6) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='1' height='1' fill='rgba(0,0,0,0.08)'/%3E%3C/svg%3E");background-color:var(--bg-deep);line-height:1.6;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:var(--accent);text-decoration:none}.btn-primary,.btn-ghost,.btn-danger{border:none;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:14px;transition:background var(--transition),transform var(--transition)}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#b89a54,#8a7336);color:#1a1611;font-weight:700}.btn-primary:hover{background:linear-gradient(135deg,#c4a86c,#9a8244);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{padding:8px 14px;background:var(--bg-hover);color:var(--text)}.btn-ghost:hover{background:#3c647859}.btn-danger{padding:8px 14px;background:var(--danger-bg);color:#fdd}.btn-danger:hover{background:#b4323259}.btn-full{width:100%}.btn-sm{font-size:13px;padding:6px 12px}.toast-error{border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid rgba(220,90,90,.4);color:#fdd;padding:10px 14px;font-size:14px;margin-bottom:12px}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}.loading-text{text-align:center;color:var(--text-dim);margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}.login-card{width:min(440px,94vw);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-title{font-size:28px;font-weight:800;color:var(--text-bright);margin-bottom:6px}.login-subtitle{font-size:13px;color:var(--text-dim);margin-bottom:20px}.login-tabs{display:flex;gap:4px;margin-bottom:18px;background:#1e1912b3;border-radius:var(--radius-sm);padding:3px}.login-tab{flex:1;border:none;border-radius:6px;padding:8px 0;font:inherit;font-size:14px;cursor:pointer;color:var(--text-dim);background:transparent;transition:all var(--transition)}.login-tab--active{background:var(--accent);color:#1a1611;font-weight:600}.login-form{display:grid;gap:14px}.field{display:grid;gap:5px}.field-label{font-size:13px;color:var(--text-dim)}.field-input{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#14120ecc;color:var(--text-bright);font:inherit;font-size:14px;transition:border-color var(--transition);outline:none}.field-input:focus{border-color:var(--accent)}.menu-page{width:min(720px,94vw);margin:0 auto;padding:20px 0 60px;min-height:100dvh;display:flex;flex-direction:column}.menu-hero{text-align:center;padding:48px 0 36px}.menu-title{font-size:42px;font-weight:800;color:var(--gold);letter-spacing:6px;text-shadow:0 2px 20px rgba(180,155,60,.3);margin:0}.menu-subtitle{font-size:15px;color:var(--text-dim);letter-spacing:4px;margin-top:6px}.menu-buttons{display:flex;flex-direction:column;gap:10px;padding:0 8px}.menu-btn{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);text-align:left;color:var(--text);font:inherit}.menu-btn:hover:not(:disabled){border-color:var(--border-accent);box-shadow:0 0 20px var(--accent-glow);background:#282218e6}.menu-btn:disabled{opacity:.4;cursor:not-allowed}.menu-btn--primary{border-color:var(--accent);background:#3c321e99}.menu-btn-icon{font-size:24px;width:36px;text-align:center;flex-shrink:0}.menu-btn-text{display:flex;flex-direction:column;gap:3px}.menu-btn-text strong{font-size:16px;color:var(--text-bright);font-weight:600}.menu-btn-text small{font-size:12px;color:var(--text-dim);line-height:1.4}.menu-footer{margin-top:auto;text-align:center;padding-top:24px}.menu-footer-user{font-size:12px;color:var(--text-dim);opacity:.6}.sub-header{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding:0 8px}.sub-header h2{font-size:20px;font-weight:700;color:var(--text-bright);margin:0}.btn-back{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font:inherit;font-size:13px;transition:color var(--transition),border-color var(--transition)}.btn-back:hover{color:var(--text-bright);border-color:var(--border-accent)}.newgame-section{padding:0 8px;margin-bottom:24px}.section-label{font-size:14px;color:var(--gold);font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.role-card{padding:14px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:border-color var(--transition),box-shadow var(--transition);color:var(--text);font:inherit}.role-card:hover{border-color:var(--border-accent)}.role-card--selected{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow);background:#3c321e80}.role-card-name{display:block;font-size:15px;font-weight:600;color:var(--text-bright);margin-bottom:4px}.role-card-desc{display:block;font-size:12px;color:var(--text-dim);line-height:1.4}.role-preview{margin-top:14px;padding:14px 18px;background:#28221899;border-left:3px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0}.role-preview-name{font-size:15px;font-weight:600;color:var(--gold);margin-bottom:6px}.role-preview-desc{font-size:13px;color:var(--text);line-height:1.6}.difficulty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.diff-card{padding:14px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color var(--transition),box-shadow var(--transition);color:var(--text);font:inherit}.diff-card:hover{border-color:var(--border-accent)}.diff-card--selected{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow);background:#3c321e80}.diff-card-label{display:block;font-size:15px;font-weight:600;color:var(--text-bright);margin-bottom:4px}.diff-card-desc{display:block;font-size:12px;color:var(--text-dim);line-height:1.4}.newgame-confirm{text-align:center;padding:8px 0 20px}.btn-lg{padding:14px 48px;font-size:16px;letter-spacing:2px}.load-list{display:flex;flex-direction:column;gap:10px;padding:0 8px}.load-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);flex-wrap:wrap;gap:12px}.load-card:hover{border-color:var(--border-accent)}.load-card-info{display:flex;flex-direction:column;gap:4px}.load-card-role{font-size:16px;font-weight:600;color:var(--text-bright)}.load-card-meta{display:flex;gap:12px;font-size:13px;color:var(--text-dim)}.load-card-ending{color:var(--gold);font-weight:500}.load-card-actions{display:flex;gap:8px}.settings-section{padding:0 8px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.settings-label{font-size:14px;color:var(--text-dim)}.settings-value{font-size:14px;color:var(--text-bright);font-weight:500}.settings-divider{border:none;border-top:1px solid rgba(255,255,255,.06);margin:16px 0}.about-section{padding:0 12px;max-width:600px;margin:0 auto}.about-version{text-align:center;font-size:20px;font-weight:700;color:var(--text-bright);margin-bottom:20px;letter-spacing:2px}.about-statement{background:#ffffff08;border-left:3px solid rgba(255,255,255,.15);padding:16px 20px;margin-bottom:24px;border-radius:0 var(--radius) var(--radius) 0}.about-statement p{font-size:14px;color:var(--text-dim);line-height:1.8;margin:0 0 10px}.about-statement p:last-child{margin-bottom:0;color:var(--text-bright);font-weight:500}.about-changelog{margin-bottom:24px}.changelog-entry{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.changelog-entry:last-child{border-bottom:none}.changelog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.changelog-version{font-size:14px;font-weight:600;color:var(--text-bright)}.changelog-date{font-size:12px;color:var(--text-dim)}.changelog-list{list-style:none;padding:0;margin:0}.changelog-list li{font-size:13px;color:var(--text-dim);padding:3px 0 3px 16px;position:relative}.changelog-list li:before{content:"·";position:absolute;left:4px;color:#ffffff4d}.about-contact{margin-bottom:24px}.about-contact p{font-size:13px;color:var(--text-dim);line-height:1.8}.about-email{color:var(--text-bright);text-decoration:underline;text-underline-offset:3px;margin-left:4px}.game-page{width:min(820px,96vw);margin:0 auto;padding:0 0 40px;position:relative}.game-page--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.resource-hud{position:fixed;top:12px;left:12px;z-index:900;background:#1a1611f5;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:240px;transition:all var(--transition);box-shadow:2px 2px 8px #00000080}.resource-hud--collapsed{width:auto;border-radius:50%}.hud-toggle{position:absolute;top:6px;right:6px;border:none;background:transparent;color:var(--text-dim);font:inherit;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:50%;z-index:2}.resource-hud--collapsed .hud-toggle{position:static;padding:10px 12px;font-size:18px}.hud-toggle:hover{color:var(--text-bright)}.hud-body{padding:28px 12px 10px;display:grid;gap:5px}.hud-inv{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.hud-inv .inv-badge{font-size:11px;padding:2px 7px}.hud-health-code{margin-top:6px;padding:6px 8px;border-radius:6px;text-align:center;font-size:11px;border:1px solid rgba(255,255,255,.1)}.hud-health-code--green{background:linear-gradient(135deg,#1e642899,#28823266);border-color:#50c8644d}.hud-health-code--yellow{background:linear-gradient(135deg,#8c781499,#a08c1e66);border-color:#dcc83c4d}.hud-health-code--red{background:linear-gradient(135deg,#8c1e1e99,#b4282866);border-color:#dc50504d}.health-code-header{font-size:10px;color:var(--text-dim);letter-spacing:1px;margin-bottom:2px}.health-code-badge{font-size:16px;font-weight:700;letter-spacing:2px}.hud-health-code--green .health-code-badge{color:#5eff7a}.hud-health-code--yellow .health-code-badge{color:#ffe44e}.hud-health-code--red .health-code-badge{color:#f55}.health-code-sub{font-size:9px;color:var(--text-dim);margin-top:1px}.res-row{display:grid;grid-template-columns:18px 36px 1fr auto;align-items:center;gap:4px;font-size:12px}.res-icon{font-size:13px;text-align:center}.res-label{color:var(--text-dim);white-space:nowrap}.res-track{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;min-width:30px}.res-fill{height:100%;border-radius:3px;transition:width .5s ease}.res-fill--neg{background:var(--danger)!important}.res-val{text-align:right;color:var(--text-bright);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end;gap:2px;font-size:11px}.res-delta{font-size:10px;font-weight:600;margin-left:2px;animation:deltaFlash 1.5s ease-out}.res-delta--pos{color:#5ec26a}.res-delta--neg{color:#e05555}@keyframes deltaFlash{0%{opacity:0;transform:translateY(-4px)}20%{opacity:1;transform:translateY(0)}to{opacity:1}}.game-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 10px}.topbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.day-badge{background:var(--accent);color:#1a1611;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px}.date-text{font-size:14px;color:var(--text-dim)}.role-chip{font-size:12px;color:var(--text-dim);background:#3c322380;padding:2px 10px;border-radius:2px}.topbar-back{border:none;background:transparent;color:var(--text-dim);font:inherit;font-size:14px;cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);transition:color var(--transition)}.topbar-back:hover{color:var(--text-bright)}.game-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:#1a1611;filter:grayscale(30%) contrast(1.05)}.game-bg-img{width:100%;height:100%;object-fit:cover}.game-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(26,22,17,.35) 0%,rgba(26,22,17,.85) 60%,var(--bg-deep) 100%);pointer-events:none}.game-content{position:relative;z-index:2;padding-bottom:32px}.game-narrative{position:relative;padding:12px 20px 16px;z-index:2}.narrative-text{font-size:16px;line-height:1.8;color:var(--text-bright);max-width:680px;white-space:pre-wrap}.cursor-blink{animation:blink .6s step-end infinite;color:var(--accent);font-weight:300}@keyframes blink{50%{opacity:0}}.daily-delta{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 16px;animation:deltaFadeIn .5s ease}.delta-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.delta-chip--pos{background:#5ec26a26;color:#5ec26a;border:1px solid rgba(94,194,106,.3)}.delta-chip--neg{background:#e0555526;color:#e05555;border:1px solid rgba(224,85,85,.3)}@keyframes deltaFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.game-ending{background:#201c14f2;border:1px solid rgba(180,155,60,.3);border-radius:var(--radius);padding:28px 24px;text-align:center;margin:20px 0}.ending-icon{font-size:40px;margin-bottom:8px}.game-ending h3{font-size:20px;color:var(--gold);margin-bottom:8px}.game-ending p{color:var(--text);margin-bottom:16px;line-height:1.7}.ending-summary{background:#282319cc;border-left:3px solid var(--gold);padding:16px 20px;margin:16px 0;text-align:left;border-radius:0 var(--radius) var(--radius) 0}.ending-summary h4{color:var(--gold);font-size:15px;margin-bottom:10px}.ending-summary .summary-text{color:var(--text);font-size:14px;line-height:1.8;white-space:pre-wrap}.ending-stats{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:12px 0 16px;font-size:13px;color:var(--text-dim)}.ending-stats span{background:#ffffff0f;padding:4px 12px;border-radius:12px}.game-choices{padding:8px 4px 0}.inventory-bar{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 10px;animation:deltaFadeIn .5s ease}.inv-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;background:#5cc5cf1f;color:var(--accent);border:1px solid rgba(92,197,207,.25)}.choices-hint{font-size:13px;color:var(--text-dim);margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.choice-group{margin-bottom:14px}.choice-group-label{font-size:12px;color:var(--text-dim);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.choices-list{display:grid;gap:8px}.choice-card{display:grid;gap:2px;text-align:left;padding:12px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text);cursor:pointer;font:inherit;transition:all var(--transition)}.choice-card:hover{background:#322a1ed9;border-color:var(--border-accent);transform:translate(3px)}.choice-card:disabled{opacity:.45;cursor:not-allowed;transform:none}.choice-card--heavy{border-left-color:var(--gold)}.choice-name{font-size:15px;font-weight:600;color:var(--text-bright)}.choice-desc{font-size:13px;color:var(--text-dim)}.achieve-page{width:min(900px,94vw);margin:0 auto;padding:20px 0 40px}.achieve-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.achieve-card{display:flex;gap:12px;align-items:flex-start;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;transition:border-color var(--transition)}.achieve-card--unlocked{border-color:#5cc5cf59}.achieve-card--locked{opacity:.6}.achieve-icon{font-size:24px;flex-shrink:0}.achieve-info h3{font-size:15px;color:var(--text-bright);font-weight:600;margin-bottom:2px}.achieve-info p{font-size:13px;color:var(--text-dim)}.achieve-time{font-size:11px;color:var(--text-dim)}.achievement-toast{position:fixed;right:12px;bottom:12px;width:min(340px,90vw);background:#1a1611f7;border:1px solid var(--border-accent);border-radius:var(--radius);padding:14px;z-index:1100;display:grid;gap:8px;animation:achieveSlideIn .5s ease;box-shadow:0 4px 20px #0009;cursor:pointer}.achievement-toast--exit{animation:achieveSlideOut .4s ease forwards}.achievement-toast-header{display:flex;align-items:center;gap:8px}.achievement-toast-icon{font-size:20px;animation:achievePop .6s ease .3s both}.achievement-toast-title{font-size:14px;color:var(--accent);font-weight:700;letter-spacing:1px}.achievement-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.05)}.achievement-item-icon{font-size:18px;flex-shrink:0}.achievement-item-text{display:flex;flex-direction:column;gap:2px}.achievement-item-text strong{color:var(--text-bright);font-size:13px}.achievement-item-text span{color:var(--text-dim);font-size:12px}.achievement-toast-hint{text-align:center;font-size:11px;color:#fff3;margin-top:4px}@keyframes achieveSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes achieveSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}@keyframes achievePop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.interaction-panel{margin:12px 16px;padding:16px;background:#1a1611eb;border:1px solid var(--border-accent);border-radius:var(--radius);animation:slideUp .35s ease}.interaction-prompt{margin-bottom:12px}.interaction-scene{font-size:14px;color:var(--text-bright);line-height:1.7;white-space:pre-wrap;margin-bottom:8px}.interaction-stakes{font-size:12px;color:var(--accent);font-style:italic;opacity:.8}.interaction-textarea{width:100%;background:#ffffff0f;border:1px solid var(--border);border-radius:6px;color:var(--text-bright);font:inherit;font-size:14px;line-height:1.6;padding:10px 12px;resize:vertical;min-height:60px;transition:border-color .2s}.interaction-textarea:focus{outline:none;border-color:var(--accent)}.interaction-textarea::placeholder{color:var(--text-dim)}.interaction-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.interaction-input-area{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.interaction-loading{display:flex;flex-direction:column;align-items:center;padding:24px 0;gap:12px}.llm-spinner{display:flex;gap:6px}.llm-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:llmBounce 1.4s infinite ease-in-out both}.llm-dot:nth-child(1){animation-delay:-.32s}.llm-dot:nth-child(2){animation-delay:-.16s}.llm-dot:nth-child(3){animation-delay:0s}@keyframes llmBounce{0%,80%,to{transform:scale(.4);opacity:.4}40%{transform:scale(1);opacity:1}}.llm-loading-text{font-size:13px;color:var(--text-dim);animation:llmPulse 2s infinite}@keyframes llmPulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 768px){.resource-hud{width:210px;top:8px;left:8px}.game-page{width:100vw;padding:0 0 24px}.game-topbar{padding:10px 12px 8px}.game-narrative{padding:10px 14px 12px}.game-choices{padding:4px 12px 0}.menu-page,.achieve-page{width:94vw}.difficulty-grid{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr 1fr}.menu-hero{padding:32px 0 24px}.menu-title{font-size:32px;letter-spacing:4px}.menu-btn{padding:14px 16px;gap:12px}.menu-btn-text strong{font-size:15px}.game-ending{padding:20px 16px;margin:16px 8px}.ending-summary{padding:12px 14px}.ending-stats{gap:8px;font-size:12px}.ending-stats span{padding:3px 10px}.daily-delta{padding:0 14px 14px}.achieve-grid{grid-template-columns:1fr}}@media (max-width: 480px){.resource-hud{width:190px;font-size:11px}.res-row{grid-template-columns:16px 28px 1fr auto}.narrative-text{font-size:15px}.choice-card{padding:10px 12px}.menu-title{font-size:28px;letter-spacing:3px}.menu-subtitle{font-size:13px}.menu-hero{padding:24px 0 20px}.menu-btn{padding:12px 14px;gap:10px}.menu-btn-icon{font-size:20px;width:28px}.menu-btn-text strong{font-size:14px}.menu-btn-text small{font-size:11px}.sub-header h2{font-size:18px}.role-grid{grid-template-columns:1fr}.role-card{padding:12px 14px}.diff-card{padding:12px 10px}.diff-card-label{font-size:14px}.btn-lg{padding:12px 36px;font-size:15px}.load-card{padding:12px 14px;flex-direction:column;align-items:stretch}.load-card-actions{justify-content:flex-end}.game-topbar{padding:8px 10px 6px;flex-wrap:wrap;gap:4px}.topbar-left{gap:6px}.day-badge{font-size:11px;padding:2px 8px}.date-text{font-size:12px}.role-chip{font-size:11px}.topbar-back{font-size:13px;padding:4px 8px}.game-narrative{padding:8px 12px 10px}.choice-group-label{font-size:11px}.choice-name{font-size:14px}.choice-desc,.choices-hint{font-size:12px}.game-ending{padding:16px 12px}.game-ending h3{font-size:18px}.ending-summary .summary-text{font-size:13px}.login-card{padding:24px 20px}.login-title{font-size:24px}.settings-row{padding:12px 0}.achieve-page{padding:16px 0 32px}}@supports (padding: env(safe-area-inset-top)){.game-topbar{padding-top:calc(14px + env(safe-area-inset-top))}.resource-hud{top:calc(12px + env(safe-area-inset-top))}.menu-page{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}}.menu-btn,.choice-card,.role-card,.diff-card{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (pointer: coarse){.choice-card{min-height:52px}.menu-btn{min-height:60px}.btn-primary,.btn-ghost,.btn-danger{min-height:44px}.hud-toggle{min-width:44px;min-height:44px}.topbar-back,.btn-back{min-height:40px}}
