
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
:root{font-family:'Zen Maru Gothic',system-ui,-apple-system,sans-serif;color:#3d3849;background:#fff9f1;--ink:#3d3849;--sub:#736d7f;--violet:#8064c7;--pink:#ed7396;--mint:#36a88e;--peach:#ffb78e;--line:#eee2e9;--paper:#fffefd;--cream:#fff9f1;--shadow:0 9px 26px rgba(103,63,89,.1)}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(circle at 10% 8%,#ffe1e8 0,transparent 28%),radial-gradient(circle at 89% 4%,#dafaf1 0,transparent 28%),radial-gradient(circle at 85% 87%,#eadfff 0,transparent 30%),#fffaf3;color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #50b4a7;outline-offset:3px}button:active{transform:scale(.98)}
.app{max-width:1400px;margin:auto;padding:16px clamp(12px,2.7vw,35px) 40px}.head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.brand{display:flex;gap:13px;align-items:center;font-weight:900}.brand .logo{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#ffb7cd;color:#783d59;font-size:25px;box-shadow:3px 4px 0 #ef8eaf;transform:rotate(-6deg)}.brand small{display:block;font-size:10px;letter-spacing:.09em;color:#9b7292}.brand strong{font-size:clamp(15px,2.6vw,22px)}.button{border:2px solid #ead4e4;background:#fff;color:#73586f;border-radius:16px;font-weight:900;padding:10px 15px;min-height:44px;box-shadow:0 3px 0 #e8dce6;transition:filter .15s,transform .15s;white-space:normal;line-height:1.4}.button:hover{filter:brightness(.98)}.button.primary{background:#ff82ab;color:#fff;border-color:#f67eaa;box-shadow:0 4px 0 #d75b86}.button.mint{background:#4bbca3;color:#fff;border-color:#40ad96;box-shadow:0 4px 0 #2b977f}.button.violet{background:#8b77d0;color:#fff;border-color:#8770cf;box-shadow:0 4px 0 #6f55b2}.button.tiny{font-size:12px;min-height:35px;padding:6px 11px;box-shadow:none}.button.ghost{background:#fff9fb}.button.danger{background:#ffebed;color:#ae4b66;border-color:#f0c4ce}.button.big{padding:15px 20px;font-size:16px;min-height:53px}.button.block{width:100%}.button.selected{border-color:#9868c8;background:#f0e9ff;color:#6d52a9}.header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:170px;padding:21px 26px;border-radius:29px;background:linear-gradient(120deg,#ffe0e5,#fff1d6 57%,#e3f8f1);border:2px solid #fff;box-shadow:var(--shadow);overflow:hidden}.hero:before{content:'✦  ✧  ♡';position:absolute;color:#ea90af;letter-spacing:1.4em;font-size:28px;opacity:.6;right:2%;top:15px}.hero h1{font-size:clamp(29px,4.6vw,55px);letter-spacing:-.06em;line-height:1.16;margin:6px 0 10px;font-weight:900}.hero h1 em{color:#d85080;font-style:normal}.hero p{margin:0;font-size:13px;font-weight:700;color:#886b80;line-height:1.7}.eyebrow{font-size:12px;font-weight:900;color:#a75c8f;letter-spacing:.08em}.float-tag{display:inline-flex;align-items:center;border-radius:50px;padding:5px 11px;background:#fff;box-shadow:0 3px 6px #9c6b8b20;font-size:12px;font-weight:900;color:#bd5e8c}.mascot-box{width:154px;flex:0 0 154px;height:142px;display:flex;align-items:flex-end;justify-content:center;position:relative;z-index:1}.mascot{width:108px;height:103px;border-radius:48% 48% 43% 43%;background:#fffbfd;border:3px solid #ebc6d5;box-shadow:5px 7px 0 #d9aad044;position:relative;z-index:2}.mascot .ear{position:absolute;top:-63px;width:32px;height:74px;background:#fff9ff;border:3px solid #ebc6d5;border-radius:50% 50% 34% 34%}.mascot .ear:after{content:'';position:absolute;inset:8px 8px 12px;border-radius:50%;background:#ffd0db}.mascot .ear.left{left:11px;transform:rotate(-15deg)}.mascot .ear.right{right:11px;transform:rotate(13deg)}.mascot .eye{position:absolute;width:8px;height:12px;background:#5b485e;border-radius:100%;top:44px}.mascot .eye.left{left:29px}.mascot .eye.right{right:29px}.mascot .blush{position:absolute;top:59px;width:20px;height:9px;border-radius:70%;background:#ffaec3;opacity:.8}.mascot .blush.left{left:8px}.mascot .blush.right{right:8px}.mascot .nose{position:absolute;top:59px;left:49px;width:8px;height:6px;background:#e68ba9;border-radius:40% 40% 80% 80%}.mascot .bow{position:absolute;bottom:-12px;left:33px;font-size:25px;color:#9c85d9;transform:rotate(-7deg)}.mascot-box .sparkle{position:absolute;font-size:24px;color:#eeb175}.mascot-box .sparkle.one{top:8px;left:3px}.mascot-box .sparkle.two{top:38px;right:2px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,0.95fr);gap:17px;margin-top:18px;align-items:start}.left-stack,.right-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.panel{background:var(--paper);border:2px solid #f1e7ed;border-radius:25px;box-shadow:var(--shadow);padding:clamp(16px,2.5vw,24px);min-width:0}.panel.pink-panel{border-color:#f2d6e4;background:linear-gradient(#fffafc,#fff)}.panel.mint-panel{border-color:#c9e9e1;background:linear-gradient(140deg,#f3fffa,#fff 60%)}.panel.lavender-panel{border-color:#e2d8f4;background:linear-gradient(135deg,#f9f4ff,#fff 60%)}.panel h2{font-size:clamp(17px,2vw,22px);font-weight:900;letter-spacing:-.035em;margin:0 0 12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.panel-head h2{margin:0}.note{color:var(--sub);font-size:12px;line-height:1.7}.section-tag{font-size:11px;font-weight:900;color:#a86792;letter-spacing:.08em}.status-tag{font-size:12px;font-weight:900;border-radius:30px;background:#f1e9ff;color:#7d62ba;padding:5px 10px}.status-tag.green{background:#dcf8eb;color:#267f6f}.status-tag.orange{background:#fff0df;color:#ac7652}
.modegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mode-btn{border:2px solid #f1dfeb;border-radius:16px;background:#fff9fc;min-height:87px;padding:11px 5px;color:#705f79;font-size:12px;font-weight:900;line-height:1.45;box-shadow:0 3px 0 #f2dce9}.mode-btn .emoji{font-size:26px;display:block;margin-bottom:5px}.mode-btn.active{background:#fde0ec;color:#ac426d;border-color:#ef9fc1;box-shadow:0 3px 0 #e7a2bf}
.prompt-title{font-weight:900;font-size:clamp(25px,3.2vw,39px);letter-spacing:-.055em;line-height:1.38;margin:6px 0}.prompt-body{font-size:clamp(20px,2.5vw,30px);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:900}.prompt-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.prompt-opt{border:2px solid #d9cafa;background:#f6f0ff;border-radius:15px;padding:14px;font-size:17px;font-weight:900;overflow-wrap:anywhere}.prompt-opt b{display:inline-block;border-radius:50%;background:#977acb;color:white;padding:3px 9px;margin-right:8px}.criterion{padding:10px 13px;border-radius:14px;background:#fff7e8;border:1px solid #f4ddb7;color:#866947;font-weight:700;font-size:13px;line-height:1.6}.divider{height:1px;background:#eee5ec;margin:14px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions.center{justify-content:center}.empty-state{padding:19px;background:#f9f4ff;border-radius:18px;border:2px dashed #d8c9ef;text-align:center}.empty-state .symbol{font-size:43px}.empty-state h3{font-size:19px;margin:5px 0}.empty-state p{font-size:13px;color:#867992;line-height:1.7;margin:7px 0 0}
.chat-heading{display:flex;align-items:center;gap:12px}.assistant-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:18px;background:#ffdae8;border:2px solid white;display:grid;place-items:center;font-size:26px;box-shadow:0 3px 0 #e6b3ce}.chat-heading p{font-size:12px;margin:3px 0 0;color:#97798f}.chatlog{display:flex;flex-direction:column;gap:10px;height:clamp(175px,27vh,330px);overflow-y:auto;padding:14px 5px 8px}.bubble{padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75;font-weight:700;border-radius:20px;max-width:96%}.bubble.ai{background:#f1eaff;border:1px solid #ddd3ef;color:#655582;align-self:flex-start;border-bottom-left-radius:5px}.bubble.host{background:#ddf8ee;border:1px solid #b4e2d3;color:#336c64;align-self:flex-end;border-bottom-right-radius:5px}.chat-input{border:2px solid #e8d2e5;border-radius:16px;resize:vertical;width:100%;background:white;color:#4f4561;padding:13px;min-height:80px;font-size:14px;line-height:1.65}.chat-input::placeholder{color:#a59caf}.quick-row{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.chip{font-size:12px;color:#985e92;background:#fff0f9;border:1px solid #ebc5dc;border-radius:40px;padding:7px 10px;font-weight:900}.two-buttons{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;margin-top:9px}.source{font-size:12px;color:#7d7590;line-height:1.6;padding-top:9px}.guide-label{display:inline-block;padding:6px 10px;border-radius:10px;background:#e0f8ed;color:#33836e;font-size:12px;font-weight:900}
.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:9px}.team-card{border:2px solid #eee0ed;background:#fffafb;border-radius:17px;padding:12px;text-align:center;min-width:0}.team-card.leader{border-color:#f4b464;background:#fff6e8}.team-card input{width:100%;min-width:0;text-align:center;font-weight:900;border:0;border-bottom:1px dashed #d7b8d1;background:transparent;padding:4px;color:#615468;font-size:13px}.team-card strong{display:block;font-size:clamp(28px,4vw,42px);font-variant-numeric:tabular-nums;color:#a376c8;margin:3px}.team-card small{display:block;font-size:10px;color:#ac91a7}.add-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.add-row button{border:1px solid #e3cfea;background:#f7ebfd;color:#855baa;border-radius:9px;padding:7px 1px;font-weight:900;font-size:12px}.ranks{display:grid;gap:7px}.rank-row{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;background:#f9f7fe;border-radius:13px;font-size:14px;font-weight:900}.rank-row span{min-width:0;overflow-wrap:anywhere}
.court-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.court-role{border:1px solid #e0d1ef;background:#faf6ff;border-radius:13px;padding:11px 5px;text-align:center}.court-role small{display:block;color:#9476a6;font-size:10px}.court-role strong{font-size:13px;overflow-wrap:anywhere}.evidence{border:2px solid #f6c4b2;background:#fff1e9;border-radius:16px;padding:14px;font-size:16px;font-weight:900;line-height:1.7}
.timer-digits{font-size:clamp(43px,5vw,65px);font-weight:900;color:#a477c9;font-variant-numeric:tabular-nums}.timer-digits.urgent{color:#e85a7e}.small-actions{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.recent{display:flex;flex-direction:column;gap:5px}.recent span{font-size:12px;background:#f9f4ff;border-radius:9px;padding:6px;color:#837491}.footer{text-align:center;color:#b1a3b2;font-size:11px;margin:18px 0}
.setup{max-width:760px;margin:24px auto}.setup .panel{padding:clamp(20px,4vw,36px)}.setup h1{font-size:clamp(30px,5vw,45px);line-height:1.28;margin:13px 0}.setup label{display:block;margin:14px 0 6px;font-weight:900;font-size:14px;color:#755b79}.setup select,.setup input{width:100%;border:2px solid #eed9e4;border-radius:13px;background:white;padding:11px;color:#4f4561}.setup select{max-width:230px;font-size:19px;font-weight:900}.setup-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px}.setup .mascot-box{margin:auto}.setup .button.big{margin-top:18px;width:100%}
.audience{position:fixed;inset:0;z-index:20;background:radial-gradient(circle at 12% 10%,#ffe2ed,transparent 33%),radial-gradient(circle at 86% 80%,#d5f7ed,transparent 40%),#fff9f0;padding:28px;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#574968}.audience.on{display:flex}.audience .close{position:absolute;right:17px;top:17px}.audience .aud-label{font-size:clamp(14px,2vw,23px);font-weight:900;color:#bd588e}.audience h2{font-size:clamp(28px,5vw,62px);margin:14px 0 18px}.audience .aud-question{font-size:clamp(27px,5.5vw,72px);line-height:1.5;white-space:pre-wrap;font-weight:900;max-width:1150px}.audience .prompt-opts{width:min(1100px,100%)}.audience .prompt-opt{font-size:clamp(20px,3.3vw,40px)}.aud-score{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:20px}.aud-score span{padding:8px 15px;background:#fff;border:1px solid #eadde9;border-radius:15px;font-weight:900;font-size:clamp(12px,1.6vw,19px)}.news{position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;text-align:center;background:#382f4deb;padding:20px}.news.on{display:flex}.news-card{max-width:900px;background:#fff2ed;border-radius:32px;padding:45px;border:6px solid #ffb5c1;color:#764265}.news-card p{font-size:clamp(26px,4vw,55px);font-weight:900}.news-card h2{color:#cc5f80}.hidden{display:none!important}
@media(max-width:970px){.layout{grid-template-columns:1fr}.right-stack{order:-1}.hero{min-height:152px}.score-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr))}}
@media(max-width:540px){.app{padding:10px 11px 30px}.head{align-items:flex-start}.brand .logo{width:39px;height:39px}.brand strong{font-size:15px}.header-actions .button{font-size:11px;padding:7px;min-height:36px}.hero{border-radius:20px;padding:17px;min-height:155px}.hero h1{font-size:30px}.hero p{font-size:11px}.mascot-box{transform:scale(.8);transform-origin:center right;width:93px;flex-basis:93px}.modegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-btn{min-height:69px}.panel{padding:14px;border-radius:20px}.prompt-opts{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-names{grid-template-columns:1fr}.chatlog{height:230px}.two-buttons{grid-template-columns:1fr}.audience{padding:15px}.audience .prompt-opts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
