*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #F5F7FA;--bg-card: #FFFFFF;--text-primary: #1F2937;--text-secondary: #6B7280;--accent: #3B82F6;--danger: #DC2626;--shadow: 0 10px 25px rgba(0, 0, 0, .1);--radius: 20px}html,body{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#app{width:100%;height:100%;position:relative}.screen{position:absolute;top:0;left:0;width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px}.screen.active{display:flex}.start-content{text-align:center;max-width:400px}.start-content h1{font-size:54px;font-weight:800;margin-bottom:8px;color:var(--text-primary)}.start-content .tagline{font-size:18px;color:var(--text-secondary);line-height:1.6;margin-bottom:40px}.start-content .hint{margin-top:24px;font-size:15px;color:var(--text-secondary)}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:18px 44px;font-size:20px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s;box-shadow:var(--shadow)}.btn-primary:hover{opacity:.9;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid #D1D5DB;border-radius:12px;padding:12px 28px;font-size:16px;font-weight:500;cursor:pointer;transition:transform .2s,opacity .2s,background-color .2s}.btn-secondary:hover{background:#00000008;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}#game-screen{justify-content:flex-start;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}#tutorial-screen{justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.tutorial-content{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:24px}.tutorial-card{width:100%;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(24px,6vw,36px);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .1s ease-out;will-change:transform;touch-action:none;cursor:grab}.tutorial-card:active{cursor:grabbing}.tutorial-avatar{width:clamp(64px,18vw,80px);height:clamp(64px,18vw,80px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(24px,7vw,32px);font-weight:700;color:#fff;background:#10b981;margin-bottom:16px;flex-shrink:0}.tutorial-character{font-size:clamp(18px,5.5vw,22px);font-weight:700;margin-bottom:20px;color:var(--text-primary)}.tutorial-text{font-size:clamp(17px,5vw,21px);line-height:1.7;color:var(--text-primary);margin-bottom:24px}.tutorial-hint{font-size:clamp(14px,4vw,16px);color:var(--text-secondary);font-weight:600;padding:10px 16px;background:var(--bg-primary);border-radius:20px}.hud{width:100%;max-width:520px;margin-bottom:10px;flex-shrink:0;display:flex;gap:8px;background:var(--bg-card);border-radius:12px;padding:10px 12px;box-shadow:0 2px 8px #0000000d}.hud-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}.hud-item-bar-container{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.hud-item-bar{height:100%;border-radius:3px;transition:width .3s ease-out,background-color .3s}.hud-item-bar.critical{animation:pulse-warning .5s infinite alternate}.hud-item-bar.dangerous{animation:pulse-warning .3s infinite alternate}@keyframes pulse-warning{0%{opacity:1}to{opacity:.6}}.hud-item-value{font-size:15px;font-weight:700;line-height:1}.hud-item-label{font-size:12px;color:var(--text-secondary);line-height:1;white-space:nowrap}#card-container{flex:1;width:100%;max-width:440px;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:0}#card-slot{width:100%;height:min(600px,calc(100vh - 210px));min-height:380px;position:relative;perspective:1000px}.card{position:absolute;width:100%;height:100%;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,5vw,30px);display:flex;flex-direction:column;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .1s ease-out;will-change:transform}.card:active{cursor:grabbing}.card-avatar{width:clamp(56px,16vw,72px);height:clamp(56px,16vw,72px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(20px,5.5vw,26px);font-weight:700;color:#fff;margin-bottom:14px;align-self:center;flex-shrink:0}.card-character{font-size:clamp(17px,5vw,20px);font-weight:700;text-align:center;margin-bottom:18px;color:var(--text-primary);flex-shrink:0}.card-text{flex:1;font-size:clamp(17px,5vw,21px);line-height:1.65;text-align:center;display:flex;align-items:center;justify-content:center;color:var(--text-primary);overflow-y:auto}.card-choices{display:flex;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid #E5E7EB;flex-shrink:0}.card-choice{font-size:clamp(14px,4.2vw,16px);font-weight:600;color:var(--text-secondary);max-width:45%;transition:color .2s,transform .2s;line-height:1.4;padding:8px 4px;cursor:pointer}.card-choice.left{text-align:left}.card-choice.right{text-align:right}.card-text .card-link{color:var(--accent);text-decoration:underline;word-break:break-all;pointer-events:auto}.card-text .card-link:active{opacity:.7}.card.choice-left .card-choice.left,.card.choice-right .card-choice.right{color:var(--accent);transform:scale(1.05)}#game-info{width:100%;max-width:500px;text-align:center;padding:8px;font-size:15px;color:var(--text-secondary);flex-shrink:0}.ending-content{text-align:center;max-width:420px;background:var(--bg-card);border-radius:var(--radius);padding:40px 32px;box-shadow:var(--shadow)}.ending-content h2{font-size:32px;font-weight:800;margin-bottom:16px;color:var(--text-primary)}.ending-content p{font-size:18px;line-height:1.65;color:var(--text-secondary);margin-bottom:24px}#ending-stats{display:flex;justify-content:center;gap:24px;margin-bottom:32px;font-size:15px;color:var(--text-secondary)}#ending-stats .stat{display:flex;flex-direction:column;gap:4px}#ending-stats .stat-value{font-size:22px;font-weight:700;color:var(--text-primary)}#feedback-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:max(80px,env(safe-area-inset-top) + 70px)}.feedback-group{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:8px;animation:feedback-float 1.2s ease-out forwards;transition:opacity .25s ease-out}.feedback-exit{opacity:0}.feedback-chip{background:#fffffff2;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #0000001a;white-space:nowrap}@keyframes feedback-float{0%{opacity:0;transform:translateY(10px) scale(.95)}15%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(-16px)}to{opacity:0;transform:translateY(-24px)}}@media (max-height: 500px) and (orientation: landscape){#game-screen{flex-direction:row;align-items:center;justify-content:center;gap:16px;padding:12px}.hud{width:200px;margin-bottom:0}#card-container{max-width:320px;height:100%}#card-slot{height:100%;min-height:280px}#game-info{display:none}#feedback-layer{padding-top:60px}}@media (max-width: 360px){.hud{gap:4px;padding:6px 8px}.hud-item-value{font-size:12px}.hud-item-label{font-size:10px}.card{padding:14px}.card-character{margin-bottom:10px}.card-choices{padding-top:12px}}@media (min-width: 768px){#card-slot{height:560px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
