@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{font-family:'Be Vietnam Pro',system-ui,sans-serif;color:#293e33;background:#f6f5ef}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,input,summary,select{outline-offset:4px}button{cursor:pointer;border:1px solid #dce2d5;border-radius:8px;padding:11px 14px;font-size:11px;font-weight:600;background:#fff;color:#53634e;transition:.18s}button:hover{filter:brightness(.95);transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}nav{position:fixed;width:76px;inset:0 auto 0 0;background:#203c32;color:#f3dca3;display:flex;align-items:center;flex-direction:column;gap:40px;padding:28px 0}nav a{font-size:38px;text-decoration:none;color:inherit}nav span{padding:12px 16px;border-radius:12px;font-size:24px;background:#3e574a}nav small{writing-mode:vertical-rl;letter-spacing:5px;font-size:10px}main{max-width:1600px;margin:auto;padding:34px 36px 20px 112px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:18px}.eyebrow{font-size:10px;letter-spacing:3px;color:#78867b;font-weight:700}h1{font-size:32px;letter-spacing:-1.3px;margin:9px 0 7px}h1 em{color:#c28a3d;font-style:normal}p{font-size:11px;color:#8a9484;margin:0;line-height:1.8}.actions{display:flex;align-items:center;gap:10px}#badge{font-size:9px;letter-spacing:1px;background:#eee8d6;color:#8c7038;padding:10px 13px;border-radius:30px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.scene-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;margin:0 0 12px;color:#6d7c70}.stage{position:relative;overflow:hidden;border-radius:16px;background:#e9d3a5;aspect-ratio:1200/760;box-shadow:0 5px 20px #3e42240a}canvas{width:100%;height:100%;display:block}.scene-tag{position:absolute;top:22px;left:22px;font-size:9px;font-weight:700;letter-spacing:2px;padding:10px 13px;background:#fffbebc9;border:1px solid #ffffff90;border-radius:5px}#bubble{position:absolute;top:42%;left:50%;transform:translateX(-50%);background:#fffdf2;box-shadow:0 5px 0 #76634317;border:1px solid #d4b782;padding:16px 20px;border-radius:14px;text-align:center;max-width:90%;font-size:clamp(11px,1.2vw,18px);font-weight:700}#bubble:after{content:'';position:absolute;bottom:-9px;left:48%;border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid #fffdf2}#bubble small{display:block;font-size:9px;font-weight:400;color:#9a8762;margin-top:7px}.caption{position:absolute;bottom:0;left:0;right:0;padding:22px;background:linear-gradient(transparent,#66533780);display:flex;justify-content:space-between;color:#fff7de;font-size:8px;letter-spacing:1px}#giftToast{position:absolute;top:18%;left:50%;transform:translateX(-50%);padding:15px 22px;border-radius:12px;background:#244c3bee;color:#ffeba7;text-align:center;font-size:14px;max-width:90%}.goal-card{display:flex;gap:17px;background:white;border:1px solid #e5e7dd;border-radius:12px;padding:20px;margin-top:16px}.goal-icon{padding:12px;background:#f8f3e7;border-radius:10px;font-size:25px}.goal-card>div:last-child{flex:1}.goal-heading{display:flex;justify-content:space-between;font-size:12px;gap:10px}.goal-heading>span{color:#8c958b;font-size:11px}.progress{height:7px;background:#edf0e7;border-radius:6px;margin:12px 0 8px;overflow:hidden}.progress>div{height:100%;width:0;background:#6a8960;transition:width .7s;border-radius:6px}.goal-card small{font-size:10px;color:#939c8e}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stats>div{border:1px solid #e2e5da;border-radius:11px;padding:18px;background:#ffffff70}.stats span{font-size:9px;letter-spacing:1px;color:#7c8778}.stats strong{display:block;font-size:27px;margin:9px 0}.stats small{font-size:9px;color:#9aa08e}.test-panel{border:1px dashed #cbd3c4;border-radius:12px;padding:20px}.test-panel h3{font-size:12px;margin:0 0 5px}.test-panel p{font-size:10px}.test-buttons{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}.test-buttons small{color:#a9a68a;margin-left:7px}aside{display:flex;flex-direction:column;gap:16px}.card{background:#fff;border:1px solid #e1e5dc;border-radius:12px;padding:21px}h2{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;font-size:12px}h2 span{color:#b3a36d;font-size:20px}label{display:block;font-size:10px;margin:18px 0 9px;color:#6f7c6d}input,select{width:100%;border:1px solid #dce2d8;border-radius:8px;background:#fafbf7;padding:11px;font-size:11px;color:#425440}.primary{background:#294d3c;color:#fff;width:100%;margin-top:12px}#status{font-size:10px;line-height:1.7;margin-top:13px}.text-button{background:none;border:0;color:#86947b;font-size:10px;padding:8px 0}.empty{font-size:11px;line-height:1.8;color:#9ba393;padding:18px 0;text-align:center}.donor{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f1f2ed;font-size:11px}.avatar{border-radius:50%;background:#f0ead8;color:#9d8049;padding:10px}.donor b{flex:1;overflow:hidden;text-overflow:ellipsis}.donor em{font-style:normal;color:#879568;font-size:10px}#activity{max-height:230px;overflow:auto}.entry{margin:14px 0;font-size:10px;line-height:1.8;color:#899080}.entry strong{color:#57664f}.entry small{display:block;font-size:9px;color:#b0b5a7}summary{font-size:11px;cursor:pointer}details p{font-size:10px;margin-top:8px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:25px;font-size:9px;color:#9aa18f;letter-spacing:.5px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#273f32;color:white;padding:15px 24px;border-radius:10px;z-index:20;font-size:12px;max-width:90%}body.overlay{background:#f6f5ef}body.overlay nav,body.overlay header,body.overlay aside,body.overlay .scene-top,body.overlay .stats,body.overlay .test-panel,body.overlay footer{display:none}body.overlay main{padding:0;max-width:none}body.overlay .workspace{display:block}body.overlay .stage{border-radius:0}body.overlay .goal-card{margin:0;border-radius:0}.overlay-audio{position:fixed;top:12px;right:12px;z-index:30;background:#284d3b;color:white}@media(max-width:1100px){main{padding:25px 22px 20px 95px}.workspace{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.actions{flex-wrap:wrap;justify-content:flex-end}h1{font-size:27px}.card{padding:16px}}@media(max-width:800px){nav{display:none}main{padding:22px 16px}.workspace{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}.actions{justify-content:flex-start;flex-wrap:wrap}aside{display:grid;grid-template-columns:1fr 1fr}#bubble{font-size:13px;padding:12px}.caption{font-size:7px;padding:15px}.stats>div{padding:14px}footer{flex-direction:column}}@media(max-width:480px){aside{grid-template-columns:1fr}.scene-tag{top:12px;left:12px;font-size:7px}#bubble small{display:none}.stats small{line-height:1.6;display:block}.goal-card{padding:14px}.goal-heading{font-size:10px}.scene-top{font-size:8px}}
.overlay-admin{position:fixed;bottom:8px;right:12px;z-index:30;font-size:10px;color:#9aa18f;opacity:.5;text-decoration:none}

@media(max-width:800px){
 html{-webkit-text-size-adjust:100%}
 main{padding:16px 16px 20px}
 header{margin-bottom:18px;gap:12px}
 h1{font-size:24px}
 .actions{width:100%}.actions button{flex:1 1 auto}
 aside{display:flex}
 button{min-height:44px;font-size:12px}
 input,select{font-size:16px;min-height:44px}
 .test-buttons button{flex:1 1 calc(50% - 9px)}
 #giftToast{font-size:12px;padding:11px 14px;top:10%}
 .goal-card{padding:14px;gap:12px}
 .stats{gap:8px}.stats>div{padding:12px}.stats strong{font-size:20px}
 #activity{max-height:200px}
 body.overlay main{padding:0}
 .overlay-audio{top:auto;bottom:10px;right:10px;min-height:44px}
 .overlay-admin{bottom:62px}
}
@media(max-width:480px){
 main{padding:12px}
 .stats{grid-template-columns:1fr}
 .stats>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.stats strong{margin:0}
 .test-buttons button{flex:1 1 100%}
 #bubble{top:36%;font-size:12px;padding:10px 12px}
 .scene-top span:last-child{display:none}
 .card{padding:14px}
}
