.inventory-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:9999}.inventory-modal{width:760px;max-width:95vw;max-height:85vh;padding:18px;background:#fff8e8;border:4px solid #111;border-radius:12px;color:#111;overflow-y:auto;box-shadow:6px 6px #000}.inventory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.inventory-header h2{margin:0;font-size:28px}.inventory-header button{cursor:pointer;font-size:18px;border:none;background:transparent}.inventory-section{margin-bottom:20px}.inventory-section h3{margin-bottom:10px;font-size:22px}.inventory-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;list-style:none;padding:10px;margin:0}.inventory-list li{padding:12px 10px;font-size:28px;font-weight:800}.inventory-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:1rem}.inventory-tabs button{flex:1;padding:4px 18px;background:#ead0a0;color:#3b210f;border:3px solid #5a3518;border-radius:10px 10px 0 0;font-family:inherit;font-weight:900;font-size:24px;cursor:pointer;box-shadow:3px 3px #3b210f}.inventory-tabs button.active{background:#c58b52;color:#fff;transform:translateY(3px)}.inventory-silver{margin-left:auto;margin-right:10px;font-size:28px;font-weight:900}.modal-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#8b5a2b;color:#fff3d6;border:3px solid #4a2a16;border-radius:8px;font-size:20px;font-weight:900;cursor:pointer;box-shadow:2px 2px #3b210f}.modal-close-btn:hover{background:#6d431f;transform:translate(-1px,-1px);box-shadow:3px 3px #3b210f}.inventory-popup{position:absolute;top:70px;right:30px;width:280px;padding:16px;background:#fff8dc;border:3px solid #8b5a2b;border-radius:12px;box-shadow:0 5px 15px #00000040;z-index:100;font-size:14px}.inventory-popup-title{font-size:20px;font-weight:900;margin-bottom:12px}.inventory-popup-description{margin-bottom:12px;line-height:1.6;font-size:18px;font-weight:700}.inventory-popup-effect{font-size:18px;font-weight:700;color:#555}.inventory-popup-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.status-popup{position:absolute;top:250px;right:30px;width:280px;padding:16px;background:#fff8dc;border:3px solid #8b5a2b;border-radius:12px;box-shadow:0 5px 15px #00000040;z-index:200}.status-popup-title{font-size:20px;font-weight:700;margin-bottom:10px}.status-popup-text{font-size:18px;font-weight:700;margin-bottom:8px}.status-popup-effect{font-size:18px;font-weight:700;line-height:1.5}@font-face{font-family:온글잎 백수빈;src:url(/fonts/%EC%98%A8%EA%B8%80%EC%9E%8E_%EB%B0%B1%EC%88%98%EB%B9%88.ttf) format("truetype");font-weight:400;font-style:normal}.game-bg{background-image:url(/images/background.png);background-size:cover;background-position:center;min-height:100vh;position:relative;overflow:hidden;padding:1rem;box-sizing:border-box;font-family:Courier New,Courier,monospace}.game-screen{min-height:700px}.select-screen{max-width:1100px;margin:0 auto}.pixel-box{background:#fff8dc;padding:10px 16px;border:8px solid transparent;border-image-source:url(/images/9slice.png);border-image-slice:24 fill;border-image-repeat:stretch;image-rendering:pixelated;box-sizing:border-box}.pixel-title{text-align:center;font-size:2rem;color:#111;text-shadow:2px 2px 0 #fff;margin-bottom:.5rem}.select-sub{text-align:center;color:#222;margin-bottom:1.5rem;font-weight:700}.job-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;width:900px;margin:30px auto 0}.job-card{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1 / 1;gap:.5rem;padding:.5rem;cursor:pointer;font-weight:700}.job-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #111}.job-emoji{font-size:2.2rem}.job-label{font-size:1.15rem}.job-detail{margin:50px auto -50px;width:500px;padding:30px}.job-detail p{margin:10px 0;line-height:1.2}.job-detail h3{margin-top:10px;margin-bottom:10px}.job-detail button{margin-top:15px}.top-bar{width:1048px;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;margin:0 auto .75rem;font-weight:800;font-size:1.1rem;box-sizing:border-box}.phase-tag{height:36px;padding:0 16px;display:flex;align-items:center;background:#b7e4c7;border:3px solid #7b4a20;border-radius:10px;color:#245c35;font-size:16px;font-weight:900;box-shadow:2px 2px #3b210f}.reset-btn{background:#eee;border:3px solid #111;padding:.3rem .7rem;font-weight:700;font-size:.85rem}.profile-panel{grid-row:1;padding:.75rem;text-align:center}.avatar{border:4px solid #5a3518;background:#ffe8a8;width:110px;height:110px;margin:0 auto .8rem;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px #3b210f}.avatar img{width:100%;height:100%;object-fit:contain}.job-badge{width:70px;min-height:52px;padding:6px 4px;background:#d9a45b;border:3px solid #5a3518;border-radius:8px;font-size:16px;font-weight:900;color:#3b210f;display:flex;justify-content:center;align-items:center;text-align:center;line-height:1.2;white-space:normal;box-shadow:2px 2px #3b210f;word-break:keep-all}.bag-panel h2,.action-panel h2,.status-panel h2{font-size:1rem;margin-bottom:.5rem;border-bottom:3px solid #111;padding-bottom:.25rem}.status-bars{display:flex;flex-direction:column;gap:8px}.stat-bar{display:flex;align-items:center;gap:10px;font-size:18px}.stat-label{width:90px;flex-shrink:0;font-size:17px;font-weight:900;color:#3b210f}.bar{width:120px;height:16px;border:3px solid #7b4a20;border-radius:8px;background:#eee;overflow:hidden;flex-shrink:0;box-shadow:inset 1px 1px #00000026}.bar-fill{height:100%;background:#4caf50;transition:width .3s}.bar-fill.danger{background:#e74c3c}.stat-bar>span:last-child{width:35px;font-size:18px;font-weight:900;text-align:center;color:#3b210f}.ability-panel p{font-size:.9rem;line-height:1.5}.build-status{margin-top:.5rem;font-weight:700;color:#1565c0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.5rem}.resource-item,.asset-item{border:3px solid #111;padding:.35rem .4rem;font-size:.8rem;font-weight:700;display:flex;flex-direction:column;align-items:center;color:#111}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.blacksmith-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.blacksmith-choices .builder-btn{width:100%;height:65px;padding:.5rem;font-size:.9rem}.blacksmith-choices .builder-btn small{font-size:.7rem}.smelt-btn{grid-column:4;grid-row:1;background:#90caf9;border-color:#1565c0;width:100%;height:100%}.leather-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.leather-choices .builder-btn{width:90px;height:55px;padding:.3rem;font-size:.85rem}.leather-choices .builder-btn small{font-size:.7rem}.action-btn{width:100%;max-width:320px;padding:.9rem 1rem;border:4px solid #6b3f1f;font-weight:900;font-size:1.1rem;color:#4b2b14;border-radius:10px;box-shadow:4px 4px #3b210f,inset 0 3px #ffffff73;display:block;margin:0 auto;cursor:pointer;image-rendering:pixelated}.action-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px #3b210f,inset 0 3px #ffffff80}.action-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #3b210f}.action-btn:disabled{opacity:.45;cursor:not-allowed}.produce-btn{background:linear-gradient(#fff18a,#e8c83d)}.trade-btn{background:linear-gradient(#9ee9f2,#4db7cc)}.consume-btn{background:linear-gradient(#b7e99c,#72bd5a)}.inspect-btn{background:linear-gradient(#ffd08a,#e59a45)}.heal-btn{background:linear-gradient(#ffc0b0,#e9826c);padding:8px 12px;font-size:1rem;width:130px}.health-buttons{display:flex;gap:10px;justify-content:center}.builder-choices{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.builder-btn{flex:1;min-width:140px;max-width:200px;display:flex;flex-direction:column;gap:.2rem}.builder-btn small{display:block;margin-top:6px;font-size:.75rem;font-weight:600}.leather-next-btn{min-width:140px;width:140px;font-size:16px}.advanced-craft-btn{background-color:#e8c76a;border-color:#c89b2b}.status-panel{grid-column:2;grid-row:1;padding:.75rem 1rem}.status-stats{display:flex;flex-direction:column;gap:.25rem;font-weight:700;font-size:.9rem;margin-bottom:.5rem}.hearts{font-size:1.6rem;margin-bottom:.5rem}.heart{color:#ccc}.heart.on{color:#e53935}.condition-tags{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:2px}.tag{width:120px;display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:2px solid #5a3518;border-radius:8px;font-size:13px;font-weight:900;color:#3b210f;box-shadow:2px 2px #5a3518;white-space:nowrap}.tag.yellow{background:#f0c987}.tag.red{background:#e8a39a}.log-list{list-style:none;overflow-y:auto;flex:1}.log-item{font-size:16px;font-weight:800;padding:4px;border-bottom:1px dashed #ccc;line-height:1.2}.log-item.tax{color:red}.log-item.silver{color:gold}.log-item.food{color:green}.log-item.disease{color:purple}.log-item.heal{color:#87ceeb}.log-item.happy{color:orange}.log-item.sad{color:gray}.log-item.damage{color:#dc143c}.log-item.weather{color:#add8e6}.log-item.cold{color:#00f}.log-item.warm{color:orange}.log-item.medicine{color:#32cd32}.log-item.buildHouse{color:brown}.log-item.warning{color:red}.log-item.reward{color:gold}.log-meta{font-weight:800;color:#1565c0}.game-over{margin-top:.75rem;padding:.75rem;text-align:center;font-weight:800;color:#b71c1c;background:#ffcdd2}.name-screen{max-width:420px;margin:4rem auto;padding:2rem;text-align:center;position:relative;overflow:hidden}.name-input{width:100%;max-width:320px;box-sizing:border-box;padding:12px 16px;border:3px solid #3b2414;border-radius:12px;background:#fff8e7;font-size:1.1rem;font-family:inherit;font-weight:700;text-align:center;outline:none;margin:1rem 0;box-shadow:0 3px #3b2414}.name-input:focus{border-color:#d89b32;background:#fffdf5}.error-msg{color:#c62828;font-weight:700;margin-bottom:.5rem}.warn-msg{color:#e65100;font-size:.85rem;margin-bottom:.75rem}.cat_greeting{position:absolute;left:-200px;bottom:-200px;width:700px;z-index:5;pointer-events:none}.code-cat,.job-cat{position:absolute;width:700px;left:-200px;bottom:-200px;z-index:5;pointer-events:none}@media(max-width:768px){.cat_greeting,.code-cat,.job-cat{width:350px;left:-60px;bottom:-60px}}.lobby-layout{width:100%;height:100%;display:grid;grid-template-columns:180px 640px 180px;grid-template-rows:120px 700px 120px;justify-content:center;align-content:center}.lobby-main{grid-column:2;grid-row:2;padding:2rem 5rem;text-align:center;box-sizing:border-box}.welcome-msg{font-size:1.2rem;margin:1.2rem 0}.back-btn{margin-top:1.5rem;background:#eee;border:3px solid #111;padding:.5rem 1rem;font-weight:700}.top-actions{display:flex;gap:.4rem}.teacher-screen{width:95%;max-width:1600px;height:calc(100vh - 55px);margin:10px auto;background:#f8edda;border:24px solid transparent;border-image:url(/images/9slice.png) 24 fill stretch;padding:40px;box-sizing:border-box}.teacher-header{padding:10px;margin-bottom:10px}.teacher-layout{display:flex;gap:15px;align-items:flex-start;width:100%}.teacher-panel{flex:1;padding:20px;border-radius:10px}.teacher-chat{width:320px;padding:20px;border-radius:10px}.teacher-chat .chat-box{height:500px;overflow-y:auto;padding:10px;text-align:left}.teacher-chat .chat-box div{margin-bottom:8px}.teacher-room-code{position:absolute;top:60px;left:190px;padding:10px 15px;font-weight:700;font-size:3rem;letter-spacing:4px}.teacher-btn,.teacher-mini-btn{border:3px solid #6b3f1f;font-weight:900;color:#4b2b14;border-radius:10px;cursor:pointer;box-shadow:3px 3px #3b210f,inset 0 2px #ffffff73;image-rendering:pixelated}.teacher-btn{padding:6px 18px;font-size:1rem}.teacher-mini-btn{padding:5px 10px;font-size:.85rem;margin-left:5px}.teacher-btn:hover,.teacher-mini-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #3b210f,inset 0 2px #ffffff80}.teacher-ending-btn{background:linear-gradient(#ff9f8f,#d95745)}.teacher-leave-btn{background:linear-gradient(#d8c7a3,#aa8b5c)}.teacher-next-btn{background:linear-gradient(#ffe08a,#e8c83d)}.teacher-event-btn{margin-left:8px;background:linear-gradient(#9ee9f2,#4db7cc)}.student-name-tag{width:120px;display:inline-flex;align-items:center;justify-content:flex-start;padding:1px 8px;background:#fff8e1;border:3px solid #6b3f1f;border-radius:8px;box-shadow:3px 3px #3b210f;font-weight:900;color:#4b2b14;box-sizing:border-box}.reward-btn{background:#b7e99c}.warning-btn{background:#ffd08a}.kick-btn{background:#ff9f8f;color:#4b2b14}.ready-complete,.ready-waiting{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;width:110px;padding:4px 8px;border-radius:8px;font-size:14px;font-weight:900;border:2px solid #6b3f1f}.ready-complete{background:#b7e99c;color:#315b25}.ready-waiting{background:#fff1a8;color:#6b4b00}.chat-panel{grid-column:4 / 6;grid-row:1 / 5;background:#fff3d6f2;padding:12px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-panel.compact{min-height:0}.chat-panel h2{font-size:1rem;font-weight:900;color:#111;margin:0;border-bottom:3px solid #111;padding-bottom:.25rem}.chat-form{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem}.chat-input-row{display:flex;gap:.35rem}.whisper-target{font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:.2rem;margin-bottom:-8px;padding:.3rem .8rem;transform:translateY(9px);background:#fff8dc;border:3px solid #8b5a2b;border-radius:8px;box-shadow:0 3px 8px #0003;font-weight:700}.whisper-target button{font-size:.9rem;padding:.25rem .7rem;background:#ffe0b2;border:2px solid #8b5a2b;border-radius:8px;cursor:pointer;font-weight:700}.whisper-target button:hover{transform:translateY(-1px)}.chat-msg.whisper{color:#8e2450;background:#ffe4ef;border:2px solid #ec407a;border-radius:10px;padding:.1rem .6rem;font-weight:800}.online-players{margin-bottom:.5rem}.online-label{font-size:.8rem;font-weight:700;color:#555}.player-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.3rem;margin-top:.3rem;height:100px;overflow-y:auto}.player-chip{background:#fff1cf;border:2px solid #7b4a20;border-radius:8px;padding:4px 8px;font-size:14px;font-weight:900;box-shadow:2px 2px #3b210f}.player-chip.me{background:#fff59d}.chat-scroll{height:370px;flex:none;overflow-y:auto;box-sizing:border-box;border:3px solid #7b4a20;background:#fff8e7;border-radius:10px}.chat-messages{margin:0;min-height:260px;padding:10px;list-style:none}.chat-form{display:flex;flex-direction:column;gap:.1rem;margin-top:auto}.chat-msg{font-size:16px;font-weight:800;line-height:1.5}.chat-msg.system{color:#666;font-style:italic}.chat-msg.mine strong{color:#1565c0}.chat-form input{flex:1;min-width:0;border:3px solid #7b4a20;border-radius:8px;background:#fff1cf;font-size:16px;font-weight:800;padding:8px 12px}.chat-form button{border:3px solid #111;background:#4dd0e1;padding:.45rem .7rem;font-weight:700}.chat-send-btn{width:70px;height:38px;border:3px solid #5a3518;border-radius:8px;background:#d9a45b;color:#3b210f;font-size:18px;font-weight:900;cursor:pointer;box-shadow:3px 3px #3b210f;transition:.1s}.chat-send-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #3b210f}.chat-send-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #3b210f}.chat-wrapper{grid-column:4 / 6;grid-row:1 / 5;min-height:0}.trade-panel{display:flex;flex-direction:column;gap:.6rem}.trade-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:15px}.trade-tabs button{flex:1;padding:4px 18px;background:#ead0a0;color:#3b210f;border:3px solid #5a3518;border-radius:10px 10px 0 0;font-family:inherit;font-weight:900;font-size:16px;cursor:pointer;box-shadow:3px 3px #3b210f}.trade-tabs button.active{background:#c58b52;color:#fff;transform:translateY(3px)}.trade-form{display:flex;align-items:center;gap:.5rem}.trade-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:700}.trade-form select,.trade-form input{border:3px solid #111;padding:.35rem;font-family:inherit;width:90px}.trade-form input{justify-self:start}.trade-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.direct-actions .trade-btn,.direct-actions .finish-trade{flex:1;width:auto;max-width:none}.trade-actions .action-btn{width:auto;flex:1;max-width:none;padding:.5rem;font-size:18px}.mode-toggle button{min-width:70px;white-space:nowrap;height:36px;padding:0 18px;margin:0 3px;border:3px solid #7b4a20;border-radius:10px;font-family:inherit;font-size:15px;font-weight:900;cursor:pointer;box-shadow:3px 3px #3b210f}.mode-toggle button:first-child{background:#fff1a8;color:#6b4b00}.mode-toggle button:last-child{background:#ffcbc0;color:#6b1d1d}.mode-toggle button:first-child.active{background:#ffe08a;color:#3b210f;box-shadow:2px 2px #3b210f}.mode-toggle button:last-child.active{background:#ff9f8f;color:#3b210f;box-shadow:2px 2px #3b210f}.mode-toggle button:hover{transform:translateY(-1px)}.trade-hint.warn{color:#c62828}.haggle-log{width:300px;height:30px;margin:0;padding:8px;background:#d9ecff;border:2px solid #4a6fa5;border-radius:6px;color:#234;font-size:14px;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finish-trade{margin-top:.25rem}.offer-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:200px;overflow-y:auto}.offer-item{padding:.6rem;font-size:.85rem}.offer-item p{margin-bottom:.25rem}.offer-price{color:#666}.offer-status{font-weight:700;color:#e65100}.offer-buttons{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.offer-buttons input{width:90px;border:2px solid #111;padding:.3rem}.offer-buttons button{border:2px solid #111;padding:.3rem .55rem;font-weight:700;background:#c8e6c9}.offer-buttons button.danger{background:#ffcdd2}.offer-wait,.offer-empty{color:#666;font-size:.82rem}@media(max-width:900px){.lobby-layout,.game-body,.trade-form{grid-template-columns:1fr}}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem}.equipment-section{margin-top:.5rem}.equipment-section h2{margin-bottom:.5rem}.equipment-title{margin-top:2rem;margin-bottom:.5rem;font-size:1rem;font-weight:700}.equipment-space{height:.8rem}.dice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#28190a73;display:flex;align-items:center;justify-content:center;z-index:999}.dice-popup{width:700px;min-height:500px;padding:60px;text-align:center;background:#f5dfaa;border:8px solid #5a3518;box-shadow:8px 8px #3b210f;animation:popup-open .2s ease-out}.dice-title{font-size:48px;font-weight:900;color:#3b210f;margin-bottom:40px}.dice-face{display:flex;justify-content:center;align-items:center;gap:30px;margin:40px 0}.dice-face img{width:240px;height:240px;image-rendering:pixelated}.dice-text{font-size:32px;font-weight:800;color:#5a3518;margin-bottom:40px}@keyframes popup-open{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.profile-info-row{display:flex;align-items:center;gap:12px}.nickname{font-size:20px;font-weight:700;margin-top:8px}.job-ability-small{font-size:15px;opacity:.8;margin-top:8px}body{font-family:온글잎 백수빈,sans-serif}button,input,select,textarea{font-family:inherit}*{font-family:온글잎 백수빈,sans-serif!important}body{font-size:20px}button,input,select{font-size:22px}.ending-screen{width:100vw;height:100vh;background:#000;overflow:hidden;position:relative}.ending-black{width:100%;height:100%}.ending-image{width:100vw;height:100vh;object-fit:cover;animation:sceneFade 1.5s ease forwards}@keyframes sceneFade{0%{opacity:0}to{opacity:1}}.eyelid-open{animation:eyeOpen 2s ease forwards}@keyframes eyeOpen{0%{clip-path:inset(50% 0 50% 0)}to{clip-path:inset(0 0 0 0)}}.ending-dream{opacity:0;filter:blur(3px);transform:scale(1.05);animation:dreamFade 3s ease forwards}@keyframes dreamFade{0%{opacity:0}to{opacity:.5}}.result-screen{width:100vw;height:100vh;background-image:url(/images/ending/ending_6.png);background-size:cover;background-position:center;display:flex;justify-content:center;align-items:center}.award-box,.record-box{width:500px;background:#f5deb3e6;border-radius:20px;padding:40px;text-align:center;font-size:24px}.history-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.history-box{background:#fff;color:#000;width:350px;max-width:90%;padding:20px;border-radius:15px}.history-scroll{max-height:300px;overflow-y:auto;margin:15px 0}.history-scroll>div{padding:8px;border-bottom:1px solid #ddd}.trade-history-card{background:#fff1cf;border:3px solid #7b4a20;border-radius:10px;padding:10px;margin-bottom:8px;box-shadow:2px 2px #3b210f;font-size:20px;font-weight:900}.trade-history-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sell-tag,.buy-tag{padding:2px 8px;border-radius:6px;border:2px solid #7b4a20}.sell-tag{background:#ffb4a2}.buy-tag{background:#b7e4c7}.trade-history-item{font-size:20px;margin-bottom:4px}.trade-history-price{color:#8a5a00}.trade-history-target{color:#555;font-size:20px}.price-scroll{max-height:none;overflow:visible}.trade-target-row{display:flex;align-items:center;gap:8px;width:100%}.trade-target-row label{display:flex;align-items:center;gap:6px;padding:2px 8px;background:#fff3d6b3;border:3px solid #7b4a20;border-radius:12px;box-shadow:3px 3px #3b210f;color:#3b210f;font-size:16px;font-weight:900}.trade-target-row select{height:34px;min-width:150px;border:3px solid #7b4a20;border-radius:8px;background:#fff1cf;color:#3b210f;font-family:inherit;font-size:18px;font-weight:900;padding:4px 8px;cursor:pointer;text-align:center;box-shadow:inset 1px 1px #00000026}.market-buy-btn{background:#ffe08a;color:#3b210f}.market-sell-btn{background:#ff9f8f;color:#3b210f}.history-small-btn{width:55px;height:45px;font-size:11px;padding:3px}.inventory-open-btn{width:70px;height:52px;padding:4px 8px;border:2px solid #5a3518;border-radius:6px;background:#f0c987;color:#3b210f;font-size:16px;font-weight:900;cursor:pointer;box-shadow:2px 2px #8b5a2b;display:flex;align-items:center;justify-content:center;text-align:center}.inventory-open-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #8b5a2b}.inventory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:9999}.inventory-header{display:flex;justify-content:space-between;align-items:center}.inventory-header button{font-size:20px;cursor:pointer}.inventory-section{margin-top:20px}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.inventory-grid div,.equipment-list div{background:#eee;padding:8px;border:2px solid #333;font-size:18px;font-weight:700}.equipment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.main-grid{width:100%;min-height:650px;display:grid;grid-template-columns:180px 260px 200px 180px 180px;grid-template-rows:110px 100px 265px 160px;gap:12px;justify-content:center}.profile-panel{grid-column:1;grid-row:1 / 3}.status-panel{grid-column:2 / 4;grid-row:1 / 3;padding:.75rem 1rem}.action-panel{grid-column:1 / 4;grid-row:3 / 4;padding:.75rem 1rem;min-height:0}.log-panel{grid-column:1 / 4;grid-row:4 / 5;display:flex;flex-direction:column;padding:.75rem 1rem;box-sizing:border-box}.game-body{display:block}.log-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #111;padding-bottom:0}.log-header h2{margin:0;font-size:1rem;padding-bottom:.25rem}.log-more-btn{padding:5px 10px;font-size:.8rem;font-weight:800;color:#5a3518;background:#ffe7a8;border:2px solid #7b4a20;border-radius:6px;box-shadow:2px 2px #3b210f;cursor:pointer;transform:translateY(-7px)}.log-more-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #3b210f}.doctor-choices{display:grid;grid-template-columns:1fr 260px;gap:16px;max-height:500px}.patient-list{max-height:500px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.doctor-control-panel{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.doctor-price{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-shrink:0}.doctor-btn,.trade-btn{flex-shrink:0}.price-row{display:flex;align-items:center;justify-content:flex-start;gap:18px;width:100%}.price-row input{width:60px}.price-row span{width:110px}.doctor-action-row{display:flex;gap:8px}.doctor-action-row button{flex:1}.health-buttons{margin-top:4px}.health-action-row{display:flex;justify-content:center;gap:4px}.health-buttons .doctor-request-btn,.health-buttons .heal-btn{width:60px;height:40px;padding:4px;border:2px solid #5a3518;border-radius:8px;font-size:14px;line-height:1.1;display:flex;align-items:center;justify-content:center;color:#3b210f;box-shadow:2px 2px #5a3518}.health-buttons .doctor-request-btn{background:#b7d9f5}.health-buttons .heal-btn{background:#f0c987}.health-buttons .doctor-request-btn:hover:not(:disabled),.health-buttons .heal-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px #5a3518}.health-buttons .doctor-request-btn:disabled{opacity:.5}.doctor-request-tab{padding:6px 10px;height:36px;border:2px solid #5a3518;border-radius:8px;background:#f0c987;color:#3b210f;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #5a3518;position:relative}.doctor-request-tab:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #5a3518}.rest-status{margin-top:2px;height:28px;font-size:13px;padding:6px 12px;display:flex;align-items:center;justify-content:center;background:#dbeafe;border:2px solid #60a5fa;border-radius:8px;font-size:.9rem;font-weight:700;line-height:1.2;box-sizing:border-box}.student-list{display:grid;grid-template-rows:repeat(10,auto);grid-auto-flow:column;gap:8px 20px}.award-screen{min-height:100vh;width:100%;background:linear-gradient(#00000059,#00000059),url(/images/background.png);background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;padding:40px;box-sizing:border-box;overflow:hidden;font-family:온글잎 백수빈,sans-serif}.award-title{font-size:72px;font-weight:700;color:#fff;text-shadow:3px 3px 0 #000;margin-bottom:50px;animation:titlePop .8s ease}.award-stage{position:relative;width:95%;max-width:1600px;height:750px}.award-card{position:absolute;width:700px;min-height:480px;background:#ffffffb3;border-radius:35px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:55px;box-sizing:border-box;text-align:center;box-shadow:0 10px 30px #00000040;animation-duration:1.4s;animation-fill-mode:both;animation-timing-function:ease-out}.award-card h2{font-size:55px;margin-bottom:40px}.award-card div{font-size:42px;font-weight:700;margin-bottom:35px}.award-card small{font-size:30px;font-weight:800;line-height:1.6;display:block;margin-top:20px}.award-card.left{left:0;top:80px;animation-name:leftHook}.award-card.right{right:0;top:250px;animation-name:rightHook}@keyframes leftHook{0%{transform:translate(-500px,-200px) rotate(-15deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}@keyframes rightHook{0%{transform:translate(500px,200px) rotate(15deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}@keyframes titlePop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.winner-list{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:15px 40px;width:100%;margin-bottom:30px}.winner{font-size:36px;min-width:150px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credit-screen{position:relative;overflow:hidden}.credit-cat{position:absolute;left:50%;bottom:-100px;transform:translate(-50%);animation:catPop 1.2s ease-out}.credit-cat img{width:960px;height:auto;display:block}@keyframes catPop{0%{transform:translate(-50%) translateY(300px);opacity:0}70%{transform:translate(-50%) translateY(-20px)}to{transform:translate(-50%) translateY(0);opacity:1}}.speech-bubble{position:absolute;top:150px;left:800px;z-index:2;background:#ffffffe6;padding:50px 90px;border-radius:70px;font-size:80px;font-weight:700;white-space:nowrap}.creator{position:absolute;right:30px;bottom:30px;padding:20px 35px;background:#fffc;border-radius:20px;font-size:36px;font-weight:700;line-height:1.4}.restart-button{position:absolute;right:30px;top:30px;padding:15px 30px;font-size:24px;border-radius:20px;cursor:pointer}.credit-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#00000059,#00000059),url(/images/background.png);background-size:cover;background-position:center;filter:blur(5px);transform:scale(1.05);z-index:0}.credit-cat,.creator,.restart-button{z-index:1}.newgame-btn{background:#ffd84d;color:#111;border:3px solid #c99500;font-weight:900}.newgame-btn:hover{background:#ffe680}.trade-side-buttons{display:flex;gap:8px;align-items:stretch}.new-offer{animation:offerBlink .8s infinite}.offer-alert{display:inline-flex;margin-left:4px;width:14px;height:14px;border-radius:50%;align-items:center;justify-content:center;font-size:11px;line-height:1;font-weight:700;background:red;color:#fff}@keyframes offerBlink{50%{opacity:.5}}.status-content{display:flex;gap:15px;align-items:flex-start}.condition-area{display:flex;flex-direction:column;gap:8px}.trade-form input,.trade-form select{width:80px}.trade-input-group{display:flex;align-items:flex-end;gap:10px;padding:10px;background:#fff3d6b3;border:3px solid #7b4a20;border-radius:12px;box-shadow:3px 3px #3b210f}.trade-input-group label{display:flex;flex-direction:column;text-align:center;gap:3px;color:#3b210f;font-size:18px;font-weight:900}.trade-input-group select,.trade-input-group input{height:34px;border:3px solid #7b4a20;border-radius:8px;background:#fff1cf;color:#3b210f;font-size:18px;font-weight:800;padding:4px 8px;text-align:center;box-shadow:inset 1px 1px #00000026}.trade-input-group select{width:120px}.trade-input-group input{width:75px}.trade-info-area{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:0px}.trade-info-buttons{display:flex;gap:.5rem;align-items:center;transform:translateY(-8px)}.trade-hint{flex:1;text-align:center;margin:0;white-space:nowrap;font-size:.95rem;color:#444}.room-code-box{position:absolute;top:7%;left:33%;transform:translate(-50%);width:440px;padding:20px;background:#fff3d6;border:10px solid transparent;border-image-source:url(/images/9slice.png);border-image-slice:24 fill;border-image-repeat:stretch;box-sizing:border-box;image-rendering:pixelated;text-align:center;color:#3b210f;z-index:10}.room-code-title{font-size:40px;font-weight:900}.room-code-number{font-size:50px;font-weight:900;letter-spacing:8px;color:#7a4d00;margin:0}.room-code-row{position:relative;display:flex;justify-content:center;align-items:center}.room-code-row .lobby-pixel-btn{position:absolute;left:calc(50% + 100px);padding:8px 12px;font-size:16px}.lobby-pixel-btn{padding:10px 18px;background:#fff3d6;color:#3b210f;border:3px solid #5a3518;border-radius:10px;font-family:inherit;font-size:18px;font-weight:900;cursor:pointer;box-shadow:3px 3px #3b210f}.lobby-pixel-btn:hover{transform:translateY(-2px)}.pixel-button{font-family:inherit;font-size:20px;font-weight:900;min-width:120px;padding:12px 22px;color:#5a3518;background:linear-gradient(#ffe7a8,#e9b95f);border:4px solid #7b4a20;border-radius:8px;box-shadow:0 4px #5a3518,inset 0 3px #ffffff80;cursor:pointer;image-rendering:pixelated;transition:.1s}.pixel-button:hover{filter:brightness(1.08)}.pixel-button:active{transform:translateY(4px);box-shadow:0 0 #5a3518,inset 0 2px #ffffff4d}.pixel-button:disabled{opacity:.5;cursor:not-allowed}.pixel-button.green{background:linear-gradient(#c8eb91,#82c45c)}.pixel-button.red{background:linear-gradient(#ffb09b,#dc6d5b)}.pixel-button.blue{background:linear-gradient(#b5ddff,#6fa9df)}.back-lobby-btn{margin-bottom:20px}.job-title{display:block;width:fit-content;margin:0 auto 15px;padding:8px 24px;color:#3b210f;font-size:36px;font-weight:900}.pixel-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background:#00000073;z-index:300}.pixel-modal{width:min(900px,90vw);height:700px;max-height:90vh;overflow-y:auto;padding:30px;background:#fff3d6;border:10px solid transparent;border-image-source:url(/images/9slice.png);border-image-slice:24 fill;border-image-repeat:stretch;box-sizing:border-box;image-rendering:pixelated;color:#3b210f;text-align:center}.pixel-modal h2,.pixel-modal h3{margin-top:0;font-size:2rem;font-weight:900}.town-btn{width:72px;height:34px;border:3px solid #5a3518;border-radius:8px;background:#d9a45b;color:#3b210f;font-size:13px;font-weight:900;cursor:pointer;box-shadow:3px 3px #3b210f;display:flex;align-items:center;justify-content:center}.town-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #3b210f}.town-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #3b210f}.price-table-btn{width:70px;height:50px;border:2px solid #5a3518;border-radius:8px;background:#e8b96a;color:#3b210f;font-size:12px;font-weight:900;cursor:pointer;box-shadow:2px 2px #3b210f}.trade-history-btn{width:70px;height:50px;border:2px solid #5a3518;border-radius:8px;background:#c58b52;color:#3b210f;font-size:12px;font-weight:900;cursor:pointer;box-shadow:2px 2px #3b210f}.trade-history-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #3b210f}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ead7b0;border-radius:10px}::-webkit-scrollbar-thumb{background:#a66a32;border-radius:10px;border:2px solid #ead7b0}::-webkit-scrollbar-thumb:hover{background:#7a4d24}.offer-buttons .counter-price-input{width:65px;height:34px;border:3px solid #7b4a20;border-radius:8px;background:#fff1cf;color:#3b210f;font-size:14px;font-weight:800;padding:4px 8px;text-align:center;box-shadow:inset 1px 1px #00000026;box-sizing:border-box}.offer-buttons{display:flex;align-items:center;gap:6px;margin-top:8px}.counter-price-input{width:55px;height:32px;border:3px solid #7b4a20;border-radius:8px;background:#fff1cf;color:#3b210f;font-family:inherit;font-weight:900;font-size:14px;text-align:center;box-shadow:inset 1px 1px #00000026}.offer-action-btn{height:34px;padding:0 16px;border:3px solid #7b4a20;border-radius:8px;font-family:inherit;font-weight:900;font-size:16px;cursor:pointer;box-shadow:2px 2px #3b210f}.offer-action-btn.accept{background:#fff1a8;color:#3b210f}.offer-action-btn.counter{background:#b7e4c7;color:#245c35}.offer-action-btn.reject,.sell-offer-btn{background:#ffb4a2;color:#6b1d1d}.buy-offer-btn{background:#b7e4c7;color:#245c35}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:4px 4px 12px}.price-item{display:flex;justify-content:space-between;align-items:center;background:#fff1cf;border:2px solid #7b4a20;border-radius:8px;padding:6px 8px;font-size:16px;font-weight:900;color:#3b210f}.price-item strong{color:#8b5a00}.player-day-tag{height:36px;padding:0 14px;display:flex;align-items:center;background:#fff1cf;border:3px solid #7b4a20;border-radius:10px;color:#3b210f;font-size:16px;font-weight:900;box-shadow:2px 2px #3b210f}.lobby-players-box{margin-top:20px;margin-bottom:20px;background:#fff3d6f2;border:3px solid #7b4a20;border-radius:12px;padding:12px;color:#3b210f;box-shadow:3px 3px #3b210f;height:180px;box-sizing:border-box}.lobby-players-box h3{margin:0 0 10px;font-size:18px;font-weight:900}.lobby-player-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;padding-bottom:4px;max-height:110px;overflow-y:auto}.lobby-player-card{text-align:center;background:#fff1cf;border:2px solid #7b4a20;border-radius:8px;padding:6px;font-size:15px;font-weight:900;box-shadow:2px 2px #3b210f}.lobby-main>input{margin-top:10px!important;margin-bottom:4px}.room-code-input{padding:10px 12px;margin-top:10px;border:3px solid #5a3518;border-radius:10px;background:#fff3d6;font-family:inherit;font-size:20px;font-weight:700;text-align:center;color:#3b210f;box-shadow:2px 2px #3b210f;outline:none}.room-code-input:focus{border-color:#7b4a20}.join-room-btn{margin-top:8px;background:#ff8a80;color:#3b210f}.name-change-btn{padding:4px 10px;border:3px solid #5a3518;border-radius:8px;background:#ead0a0;color:#3b210f;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:2px 2px #3b210f}.name-change-btn:hover{transform:translateY(-1px)}.welcome-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.welcome-row .welcome-msg{margin:0}.job-guide-box{position:fixed;right:30px;bottom:30px;width:400px;padding:15px;background:#fff1cf;border:4px solid #7b4a20;border-radius:12px;color:#3b210f;z-index:20;box-shadow:4px 4px #3b210f}.job-guide-box h3{margin-bottom:12px}.job-guide-box p{margin-bottom:16px}.job-guide-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px}.small-guide-box{height:auto;width:auto;min-height:unset;padding:18px}.room-leave-guide{margin-top:4px;width:100%;display:flex;justify-content:flex-end;font-size:16px;color:#777}.room-leave-guide span{padding:6px 10px;background:#f5f5f5;border-radius:8px}.qr-toggle-btn{border:10px solid transparent;border-image-source:url(/images/9slice.png);border-image-slice:24 fill;border-image-repeat:stretch;background:#fff3d6;color:#3b210f;padding:10px 18px;font-family:inherit;font-size:18px;font-weight:900;cursor:pointer;image-rendering:pixelated}.qr-toggle-btn:hover{transform:translateY(-2px)}.qr-popup{position:absolute;top:80px;right:30px;padding:20px;background:#fff3d6;border:10px solid transparent;border-image-source:url(/images/9slice.png);border-image-slice:24 fill;border-image-repeat:stretch;z-index:100;text-align:center;image-rendering:pixelated}.qr-image{width:350px;height:350px;display:block}.qr-guide{color:#3b210f;font-weight:900;margin-top:10px;font-size:18px;line-height:1.4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}
