.tutor-launcher{position:fixed;right:25px;bottom:24px;z-index:20;border:1px solid #ffffff20;border-radius:40px;background:#173c30;color:#f2fff7;padding:12px 20px;font:inherit;font-size:12px;font-weight:650;box-shadow:0 8px 30px #102d2926;display:flex;align-items:center;gap:10px}.tutor-launcher span{font-size:20px}.tutor-launcher:hover{transform:translateY(-2px)}.tutor-backdrop{position:fixed;inset:0;background:#081e154d;backdrop-filter:blur(5px);z-index:39}.tutor-panel{position:fixed;right:14px;top:14px;bottom:14px;width:min(760px,calc(100% - 28px));z-index:40;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 90px #0002;display:flex;flex-direction:column;overflow:hidden}.tutor-panel.expanded{width:calc(100% - 28px)}.tutor-header{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;gap:10px;flex:none}.tutor-brand{display:flex;align-items:center;gap:10px}.tutor-mark{font-size:23px;color:var(--g);width:38px;height:38px;display:grid;place-items:center;background:var(--mint);border-radius:12px}.tutor-header strong{font-size:17px;font-weight:650;letter-spacing:-.03em}.tutor-header small{display:block;color:var(--mut);font-size:10px;margin-top:2px}.tutor-header-actions{display:flex;gap:5px}.tutor-header .icon{border:0;background:transparent;font-size:20px;padding:5px 9px;color:var(--mut);font-weight:400}.tutor-header .icon:hover{background:var(--bg);color:var(--ink)}.tutor-body{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;padding:12px max(24px,calc((100% - 740px)/2));display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.tutor-messages{flex:1 0 auto;min-height:80px;overflow-wrap:anywhere;display:flex;flex-direction:column;justify-content:flex-start}.tutor-messages:has(.tutor-empty){justify-content:center}.tutor-empty{text-align:center;padding:50px 10px 70px}.tutor-empty .empty-mark{font-size:38px;color:var(--g);display:block;margin-bottom:16px}.tutor-empty h2{font-size:clamp(25px,3.5vw,35px);font-weight:560;letter-spacing:-.045em;margin:0 0 10px;color:var(--ink)}.tutor-empty p{color:var(--mut);font-size:13px;line-height:1.8;margin:0}.tutor-turn{font-size:15px;line-height:1.85;margin:16px 0 28px;overflow-wrap:anywhere;max-width:100%}.tutor-turn.user{align-self:flex-end;max-width:85%;background:var(--bg);border-radius:22px;padding:12px 20px;white-space:pre-wrap}.tutor-turn.assistant{padding:0 3px;width:100%}.tutor-answer p{margin:0 0 12px}.tutor-answer h3{font-size:17px;font-weight:650;margin:20px 0 10px}.tutor-answer ul{padding-left:22px;margin:12px 0}.tutor-answer li{margin:5px 0}.tutor-answer pre{background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:16px;overflow:auto;font-size:12px;line-height:1.6;white-space:pre-wrap}.tutor-answer code{font-family:Consolas,monospace}.tutor-answer p code{background:var(--bg);padding:2px 5px;border-radius:4px;font-size:13px}.tutor-copy{background:none;border:0;color:var(--mut);font-size:11px;padding:6px 0;cursor:pointer}.tutor-copy:hover{color:var(--ink)}.tutor-compose{padding:12px 24px 18px;flex:none;width:min(100%,790px);align-self:center}.tutor-input-wrap{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:13px 14px 9px;box-shadow:0 5px 22px #183a2707}.tutor-input-wrap:focus-within{border-color:color-mix(in srgb,var(--g) 45%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--g) 5%,transparent)}.tutor-compose textarea{display:block;font:inherit;font-size:14px;border:0;outline:0;box-shadow:none!important;background:transparent;color:var(--ink);width:100%;min-height:34px;max-height:180px;resize:none;padding:4px 7px;line-height:1.65}.tutor-compose textarea:focus{outline:0}.tutor-compose-bottom{display:flex;justify-content:flex-end;align-items:center;gap:8px}.tutor-compose-bottom>span{margin-right:auto;color:var(--mut);font-size:10px;padding-left:7px}.tutor-compose .btn,.tutor-stop{width:35px;height:35px;border-radius:50%;background:var(--ink);color:var(--card);font-size:23px;line-height:1;border:0;padding:0;display:grid;place-items:center}.tutor-stop{font-size:13px;cursor:pointer}.tutor-compose .btn:disabled{opacity:.25}.tutor-compose small{display:block;text-align:center;color:var(--mut);font-size:10px;margin-top:10px}.tutor-panel a{color:var(--g)}.tutor-status{font-size:12px;color:var(--mut);line-height:1.6;padding:0 3px;margin:0}.tutor-status:empty{display:none}.tutor-status.error{color:#b7523a;background:var(--bg);padding:12px;border-radius:12px}.tutor-status.pending::before{content:'';display:inline-block;width:7px;height:7px;background:var(--g);border-radius:50%;margin-right:8px;animation:tutor-pulse 1.1s ease-in-out infinite}.tutor-welcome{flex:none;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:12px;line-height:1.7}.tutor-welcome p{margin:0 0 8px}.tutor-welcome .helper{font-size:11px}.tutor-welcome .btn{margin-top:5px}.tutor-panel .notice{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.tutor-open{overflow:hidden}
body[data-page=tutor] #main{min-height:calc(100dvh - 76px)}body[data-page=tutor]>.footer,body[data-page=tutor] .tutor-launcher,body[data-page=tutor] .tutor-backdrop,body[data-page=tutor] #tutorClose,body[data-page=tutor] #tutorExpand{display:none}body[data-page=tutor] .tutor-panel{left:228px;right:0;top:76px;bottom:0;width:auto;border:0;border-radius:0;box-shadow:none;z-index:12}body[data-page=tutor] .tutor-header{padding:20px 32px}body[data-page=tutor] .tutor-compose{padding-bottom:24px}body[data-page=tutor] .tutor-body{padding-left:max(32px,calc((100% - 710px)/2));padding-right:max(32px,calc((100% - 710px)/2))}
@keyframes tutor-pulse{50%{opacity:.3;transform:scale(.75)}}@media(max-width:1059px){body[data-page=tutor] .tutor-panel{left:0}}@media(max-width:650px){.tutor-panel{inset:0;width:100%;border:0;border-radius:0;height:100dvh}.tutor-panel.expanded{width:100%}.tutor-header{padding:17px 16px}.tutor-header small{font-size:9px}.tutor-header strong{font-size:16px}.tutor-mark{width:32px;height:32px}.tutor-body{padding:10px 20px}.tutor-turn{font-size:14px}.tutor-compose{padding:10px 14px max(14px,env(safe-area-inset-bottom))}.tutor-launcher{right:14px;bottom:16px;padding:10px 15px}.tutor-compose small{font-size:9px}.tutor-empty h2{font-size:28px}.tutor-empty p{font-size:12px}.tutor-empty{padding-bottom:60px}body[data-page=tutor] .tutor-panel{top:66px;height:calc(100dvh - 66px)}body[data-page=tutor] .tutor-header{padding:16px 20px}body[data-page=tutor] .tutor-body{padding:10px 22px}body[data-page=tutor] .tutor-compose{padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.tutor-body{scroll-behavior:auto}.tutor-status.pending::before{animation:none}}
