:root{font-family:system-ui,Roboto,sans-serif;color:#30243e;background:linear-gradient(160deg,#fffdfa,#f8f3fc 70%,#fffaf0)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%;overflow-x:hidden}.shell{max-width:860px;margin:auto;padding:12px 12px 40px}header{border-radius:20px;background:linear-gradient(125deg,#fff,#f3e9fc);padding:18px;border:1px solid #ddcdea}header h1{font-size:clamp(29px,7vw,42px);margin:12px 0 4px;color:#482563}header p{line-height:1.5;color:#65536f;margin:0}.mark{display:block;font-size:11px;letter-spacing:.09em;color:#5f2c91;font-weight:850;margin-top:10px}.back{color:#5f2c91;font-weight:750}.workspace,.sandbox{margin-top:14px;border:1px solid #ddcdea;background:white;border-radius:19px;box-shadow:0 6px 25px #44226710;overflow:hidden}.workspace{display:flex;flex-direction:column;min-height:min(78dvh,720px)}.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;background:#f8f3fc}.tools label{font-weight:750;color:#5f2c91}.tools select{flex:1 1 200px;min-width:0}.transcript{flex:1;min-height:220px;max-height:57dvh;overflow-y:auto;overflow-x:hidden;padding:14px 12px;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.turn{max-width:96%;border:1px solid #ddcdea;border-radius:15px;padding:10px 13px;margin:0 0 12px;overflow-wrap:anywhere}.turn.ai{background:#f6f0fb}.turn.user{background:#e9f5f4;margin-left:auto;border-color:#cbe5e4}.turn strong{font-size:14px;color:#482563}.turn p{white-space:pre-wrap;line-height:1.5;margin:5px 0}.turn details{margin-top:8px}.turn summary{cursor:pointer;font-size:12px;color:#5f2c91}.turn pre{overflow-x:auto;max-width:100%;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.composer{padding:10px;background:#fff;border-top:1px solid #ddcdea;display:grid;grid-template-columns:1fr auto;gap:8px}.composer label,.composer textarea,.composer #status{grid-column:1/-1}.composer label{font-size:13px;font-weight:750}.composer textarea{width:100%;resize:vertical;min-height:70px;max-height:160px}.composer #ask{grid-column:2}.composer #status{font-size:12px;color:#65536f;line-height:1.4;margin:0}button,textarea,select,.buttons a{font:600 15px/1.3 system-ui;border-radius:12px;min-height:46px;padding:9px 13px;border:1px solid #bda2d3;background:#fff;color:#482563;touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button#ask,.tools #runTest{background:#5f2c91;color:white}.sandbox{padding:17px}.sandbox h2{margin:0 0 8px;color:#482563}.sandbox p{line-height:1.55}.buttons{display:flex;flex-wrap:wrap;gap:8px}.buttons a{display:inline-flex;align-items:center;text-decoration:none}.note{font-size:12px;color:#65536f}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2189cb;outline-offset:2px}@media(max-width:420px){.shell{padding:8px 8px 30px}.tools{display:grid;grid-template-columns:1fr 1fr}.tools label,.tools select{grid-column:1/-1}.tools button{font-size:13px;padding:8px}.workspace{min-height:78dvh}.transcript{min-height:170px}.composer{grid-template-columns:1fr 90px}.buttons>*{width:100%;justify-content:center}}