@font-face{font-family:Peyda;src:url("../fonts/peyda400.woff?ver=0.19.0") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Peyda;src:url("../fonts/peyda500.woff?ver=0.19.0") format("woff");font-weight:500;font-display:swap}
@font-face{font-family:Peyda;src:url("../fonts/peyda600.woff?ver=0.19.0") format("woff");font-weight:600;font-display:swap}
@font-face{font-family:Peyda;src:url("../fonts/peyda700.woff?ver=0.19.0") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:Peyda;src:url("../fonts/peyda800.woff?ver=0.19.0") format("woff");font-weight:800;font-display:swap}
:root{
  --ink:#10142a;--ink-2:#171c38;--violet:#7357f6;--violet-2:#9a7dff;--cyan:#54d8ff;
  --paper:#f6f5fa;--card:#fff;--line:#e8e6ef;--muted:#74768a;--soft:#efedf8;
  --success:#1d9b70;--danger:#d4485e;--amber:#e9a63a;--shadow:0 18px 55px rgba(20,18,53,.1);
  --radius:26px;--header:76px;--nav:74px
}
*{box-sizing:border-box}
html{font-size:16px;background:var(--paper);scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(circle at 12% 4%,rgba(115,87,246,.09),transparent 28rem),
  radial-gradient(circle at 94% 18%,rgba(84,216,255,.09),transparent 24rem),var(--paper);
  color:var(--ink);font-family:Peyda,Tahoma,sans-serif;min-height:100vh;-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit}
button{color:inherit}
button{touch-action:manipulation}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(84,216,255,.55);outline-offset:2px}
[hidden]{display:none!important}
.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:16px}
.topbar{height:var(--header);display:flex;align-items:center;justify-content:space-between;max-width:1220px;margin:auto;padding:10px 22px;position:relative;z-index:30}
.brand{display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:0;cursor:pointer;text-align:right}
.brand img{width:49px;height:49px;border-radius:15px;box-shadow:0 9px 25px rgba(86,77,209,.22)}
.brand-copy{display:grid;line-height:1.05}
.brand-copy b{font-size:1.22rem;font-weight:800}
.brand-copy small{margin-top:7px;color:var(--muted);font-size:.72rem}
.topbar-actions{display:flex;align-items:center;gap:9px}
.coin-pill{height:42px;border:1px solid rgba(115,87,246,.14);background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-radius:15px;padding:0 13px;display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 7px 20px rgba(35,31,80,.05)}
.coin-pill b{font-size:1rem}.coin-pill>span:last-child{font-size:.75rem;color:var(--muted)}
.coin-gem{color:var(--violet);font-size:.84rem;filter:drop-shadow(0 3px 5px rgba(115,87,246,.32))}
.avatar-button{width:42px;height:42px;border:0;border-radius:15px;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer;font-weight:700;box-shadow:0 8px 20px rgba(16,20,42,.16)}
.network-status{position:fixed;z-index:120;top:calc(var(--header) + 4px);right:50%;transform:translateX(50%);width:min(560px,calc(100% - 24px));min-height:44px;padding:8px 10px 8px 13px;border:1px solid rgba(212,72,94,.2);border-radius:14px;background:rgba(255,249,250,.96);box-shadow:0 12px 35px rgba(35,21,28,.14);display:flex;align-items:center;gap:10px;color:#8b3040;font-size:.73rem;backdrop-filter:blur(12px)}
.network-status span{flex:1;line-height:1.6}.network-status button{border:0;border-radius:10px;background:#fff;color:var(--danger);padding:7px 10px;cursor:pointer;font-size:.68rem;font-weight:700}.network-status.is-loading button{opacity:.55}
.app-main{width:min(1220px,100%);margin:0 auto;padding:0 22px}
.screen{display:none;animation:screenIn .28s ease both}
.screen.is-active{display:block}
@keyframes screenIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
body.is-home-screen{overflow:hidden}
body.is-home-screen .app-main{height:calc(100vh - var(--header));height:calc(100dvh - var(--header))}
.screen-home.is-active{height:100%;overflow:hidden}
.screen-home .home-layout,.screen-home .home-primary{height:100%;min-height:0}
.screen-home .home-primary{display:flex;flex-direction:column}
.screen-home .welcome-block{padding-top:clamp(22px,6vh,54px);padding-bottom:clamp(16px,3.2vh,30px);flex:0 0 auto}
.screen-home .quick-grid{flex:0 0 auto}
.screen-home .quick-card{min-height:clamp(92px,14vh,118px)}
.screen-home .chat-panel{min-height:0;max-height:none}
.screen-home .chat-panel.has-messages{flex:1 1 auto}
body.is-home-screen .composer-wrap{position:relative;bottom:auto;margin-top:auto}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:24px;align-items:start}
.home-primary{min-width:0}
.welcome-block{padding:54px 42px 30px;text-align:center;transition:.25s ease}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#69687a;font-weight:600;font-size:.83rem}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--cyan));box-shadow:0 0 0 5px rgba(115,87,246,.08)}
.welcome-block h1{font-size:clamp(2.25rem,4vw,4.35rem);letter-spacing:-.045em;line-height:1.03;margin:18px 0 17px;font-weight:800}
.welcome-block h1 em{font-style:normal;background:linear-gradient(100deg,var(--violet),#7b72f4 45%,#209fc4);-webkit-background-clip:text;background-clip:text;color:transparent}
.welcome-block>p{max-width:650px;margin:0 auto;color:var(--muted);line-height:1.95;font-size:1.03rem}
.grade-chip{margin-top:19px;max-width:min(100%,560px);border:1px solid var(--line);background:rgba(255,255,255,.76);border-radius:99px;padding:9px 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#55576a;font-size:.79rem}
.grade-chip>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grade-chip:hover{border-color:#d3cef5;background:#fff}
.grade-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}
.chevron{font-size:1.2rem;line-height:.7;color:#9b9cad}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.quick-card{min-height:118px;border:1px solid var(--line);background:rgba(255,255,255,.86);border-radius:22px;padding:18px;display:flex;align-items:flex-start;gap:11px;text-align:right;cursor:pointer;position:relative;overflow:hidden;transition:.2s ease;box-shadow:0 8px 30px rgba(30,25,75,.035)}
.quick-card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;left:-35px;bottom:-48px;opacity:.13}
.quick-card:hover{transform:translateY(-3px);border-color:#dcd5ff;box-shadow:0 14px 35px rgba(43,32,120,.08)}
.quick-card>i{font-style:normal;margin-right:auto;color:#aaaabd;font-size:1.3rem}
.quick-card span:nth-child(2){display:grid;gap:7px}
.quick-card b{font-size:.91rem}.quick-card small{font-size:.73rem;color:var(--muted);line-height:1.55}
.quick-icon{flex:0 0 34px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:800}
.quick-learn .quick-icon{background:#efeaff;color:var(--violet)}.quick-learn:before{background:var(--violet)}
.quick-scan .quick-icon{background:#edf9fb;color:#168ca7;border:1px solid #d9f0f4;box-shadow:none}.quick-scan:before{background:var(--cyan)}
.quick-exam .quick-icon{background:#fff1dc;color:#bd7920}.quick-exam:before{background:var(--amber)}
.chat-panel{display:none;min-height:310px;max-height:calc(100vh - 325px);overflow:auto;overscroll-behavior:contain;background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:24px;padding:24px;margin-bottom:14px;scrollbar-width:thin;scrollbar-color:#cbc7dc transparent}
.chat-panel.has-messages{display:block}
.chat-empty{text-align:center;color:var(--muted);padding:70px 20px}
.chat-empty-mark{display:grid;place-items:center;margin:0 auto 12px;width:44px;height:44px;border-radius:15px;background:var(--soft);color:var(--violet)}
.messages{display:grid;gap:19px;contain:layout style}
.message{display:flex;gap:11px;align-items:flex-start;animation:messageIn .25s ease both}
.chat-inline-state{min-height:92px;border:1px dashed #d7d3e4;border-radius:18px;background:rgba(255,255,255,.76);padding:16px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:center}.chat-inline-state.is-error{border-color:rgba(212,72,94,.28);color:#8b3040}.chat-inline-state button{border:0;border-radius:11px;background:var(--ink);color:#fff;padding:8px 12px;cursor:pointer;white-space:nowrap}
@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.message-avatar{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;flex:0 0 33px;font-size:.8rem;font-weight:700}
.message-avatar.is-brand{overflow:hidden;background:var(--ink);box-shadow:0 5px 14px rgba(16,20,42,.16)}
.message-avatar.is-brand img{display:block;width:100%;height:100%;object-fit:cover}
.message.user{flex-direction:row-reverse}
.message.user .message-avatar{background:#e9e5ff;color:var(--violet)}
.message.assistant .message-avatar{background:var(--ink);color:#fff}
.message-body{max-width:min(82%,690px);border-radius:18px;padding:13px 16px;line-height:2;font-size:.93rem;word-break:break-word}
.message.user .message-body{background:var(--violet);color:#fff;border-bottom-left-radius:18px;border-bottom-right-radius:6px}
.message.assistant .message-body{background:#fff;border:1px solid var(--line);border-bottom-right-radius:6px;box-shadow:0 5px 20px rgba(30,25,75,.035)}
.message-body h3,.message-body h4{margin:14px 0 4px;line-height:1.5}.message-body p{margin:0 0 9px}.message-body p:last-child{margin-bottom:0}
.message-body ol,.message-body ul{margin:7px 0;padding-right:20px}.message-body code{direction:ltr;display:inline-block;background:#f1eff6;border-radius:7px;padding:1px 6px;font-family:Consolas,monospace}
.message-attachment{display:flex;align-items:center;gap:8px;border-radius:12px;background:rgba(255,255,255,.14);margin-bottom:8px;padding:7px 9px;font-size:.76rem}
.thinking{display:flex;align-items:center;gap:5px;margin-top:18px;margin-right:44px;color:var(--muted)}
.thinking span{width:7px;height:7px;border-radius:50%;background:var(--violet);animation:dot 1s infinite ease-in-out}
.thinking span:nth-child(2){animation-delay:.14s}.thinking span:nth-child(3){animation-delay:.28s}
.thinking p{font-size:.76rem;margin-right:6px}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
.composer-wrap{position:sticky;bottom:10px;z-index:12;max-width:850px;margin:0 auto}
.mode-switch{display:flex;width:max-content;margin:0 auto -1px;background:#ebe8f2;border:1px solid #dfdce9;border-bottom:0;border-radius:15px 15px 0 0;padding:4px;gap:3px}
.mode-switch button{border:0;background:transparent;border-radius:10px;padding:7px 13px;color:#777789;font-size:.76rem;cursor:pointer}
.mode-switch button.is-active{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 3px 9px rgba(30,25,75,.07)}
.attachment-preview{background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;padding:9px 12px;display:flex;align-items:center;gap:10px}
.attachment-thumb{width:43px;height:43px;border-radius:12px;background:var(--soft);color:var(--violet);display:grid;place-items:center;font-size:.7rem;font-weight:800;background-size:cover;background-position:center}
.attachment-preview>div:nth-child(2){display:grid;min-width:0}.attachment-preview b{font-size:.8rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.attachment-preview small{color:var(--muted);font-size:.68rem}
.attachment-preview button{margin-right:auto;border:0;background:#f0eef5;width:29px;height:29px;border-radius:9px;cursor:pointer;color:#777}
.composer{background:#fff;border:1px solid #dedbe9;border-radius:24px;padding:11px 12px 10px;box-shadow:0 18px 48px rgba(29,23,75,.11);transition:.2s}
.attachment-preview:not([hidden])+.composer{border-radius:0 0 24px 24px}
.composer:focus-within{border-color:rgba(115,87,246,.48);box-shadow:0 20px 55px rgba(68,48,170,.15)}
.composer textarea{display:block;width:100%;min-height:48px;max-height:160px;resize:none;border:0;background:transparent;padding:6px 7px 10px;color:var(--ink);line-height:1.8;overflow:auto}
.composer textarea::placeholder{color:#a6a5b4}
.composer textarea:focus{outline:0}
.composer-tools{display:flex;align-items:center;gap:9px}
.composer-left{display:flex;gap:5px}
.tool-button{height:36px;border:1px solid var(--line);border-radius:11px;background:#faf9fc;padding:0 10px;display:flex;align-items:center;gap:5px;cursor:pointer}
.tool-button span{font-size:1.2rem}.tool-button small{color:#747488;font-size:.69rem}.scan-button{border-color:#dcecef;background:#fbfdfd}.scan-button .scan-glyph{color:#168ca7}.scan-button:hover{border-color:#c8e5ea;background:#f5fafb}
.research-settings-button{border-color:#ded8ff;background:#f8f6ff;color:var(--violet)}.research-settings-button span{font-size:1rem}.research-settings-button:hover{border-color:#cfc5ff;background:#f1edff}
.research-field>.research-source-hint{justify-self:stretch;color:#7b7c8f;line-height:1.75;text-align:right}
.scan-glyph{display:block;width:20px!important;height:20px!important;flex:0 0 20px;overflow:visible;color:inherit}
.quick-scan .scan-glyph{width:21px!important;height:21px!important;flex-basis:21px}
.scan-glyph-frame,.scan-glyph-beam{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.scan-glyph-frame{stroke-width:1.75}
.scan-glyph-beam{stroke:var(--violet);stroke-width:1.9;opacity:.78;transform-origin:center;transition:opacity .18s ease,transform .18s ease}
.quick-scan:hover .scan-glyph-beam,.scan-button:hover .scan-glyph-beam,.scan-button:focus-visible .scan-glyph-beam{opacity:1;transform:scaleX(.9)}
.cost-preview{margin-right:auto;display:flex;align-items:center;gap:4px;color:#88889b;font-size:.72rem}.cost-preview span{color:var(--violet);font-size:.68rem}.cost-preview b{color:#55566b}
.send-button{width:39px;height:39px;border:0;border-radius:13px;background:var(--ink);color:#fff;cursor:pointer;font-size:1.35rem;display:grid;place-items:center;transition:.2s}
.send-button:hover{background:var(--violet);transform:translateY(-1px)}.send-button:disabled{opacity:.35;cursor:not-allowed;transform:none}
.composer-note{text-align:center;color:#9999a7;font-size:.65rem;margin:7px 0 0}
.home-aside{display:grid;gap:12px;position:sticky;top:16px}
.aside-card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:21px;padding:17px;box-shadow:0 8px 30px rgba(30,25,75,.035)}
.aside-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.84rem}
.aside-title>b{color:var(--success);background:#e5f6ef;padding:4px 8px;border-radius:8px;font-size:.68rem}
.aside-title button,.text-button{border:0;background:transparent;color:var(--violet);font-size:.72rem;cursor:pointer}
.streak-row{direction:rtl;display:flex;gap:5px;margin:15px 0 13px}
.streak-row i{font-style:normal;width:29px;height:29px;border-radius:9px;background:#f0eef5;color:#9c9baa;display:grid;place-items:center;font-size:.65rem}
.streak-row i.done{background:#e8e3ff;color:var(--violet);font-weight:700}.streak-row i.today{background:var(--violet);color:#fff;box-shadow:0 6px 13px rgba(115,87,246,.28)}
.weekly-card>p,.tip-card p{font-size:.72rem;line-height:1.75;color:var(--muted);margin:0}
.tip-card{display:flex;gap:11px;background:linear-gradient(145deg,var(--ink),#252c54);color:#fff;border:0}
.tip-card b{font-size:.82rem}.tip-card p{color:#c2c5d9;margin-top:6px}.tip-star{width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:var(--cyan);flex:0 0 34px}
.recent-list{display:grid;gap:4px;margin-top:12px}
.recent-item{width:100%;border:0;background:transparent;border-radius:11px;padding:8px;text-align:right;display:grid;grid-template-columns:1fr auto;gap:4px;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto 53px}
.recent-item:hover{background:#f5f3fa}.recent-item b{font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item small{font-size:.62rem;color:var(--muted);grid-column:1}.recent-item i{grid-column:2;grid-row:1/3;font-style:normal;color:#aaa;align-self:center}
.recent-placeholder{font-size:.72rem;color:#aaa9b6;text-align:center;padding:16px}
.page-heading{display:flex;justify-content:space-between;align-items:end;padding:44px 10px 24px}
.page-heading .eyebrow{margin-bottom:10px}.page-heading h2{font-size:2.2rem;margin:0 0 7px}.page-heading p{margin:0;color:var(--muted)}
.primary-small{border:0;border-radius:13px;background:var(--ink);color:#fff;padding:11px 15px;cursor:pointer}
.history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.history-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:17px;text-align:right;cursor:pointer;min-height:145px;display:flex;flex-direction:column;transition:.2s;content-visibility:auto;contain-intrinsic-size:auto 145px}
.history-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#dcd6f5}
.history-card>span{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--violet);font-size:.75rem}
.history-card h3{font-size:.9rem;line-height:1.7;margin:13px 0 auto}.history-card footer{display:flex;justify-content:space-between;color:var(--muted);font-size:.65rem;margin-top:12px}
.history-card footer i{font-style:normal;color:var(--violet)}
.empty-state{text-align:center;padding:90px 20px}.empty-state>span{display:grid;place-items:center;width:60px;height:60px;border-radius:20px;background:var(--soft);color:var(--violet);font-size:1.5rem;margin:auto}.empty-state h3{margin:16px 0 5px}.empty-state p{color:var(--muted)}.empty-state button{border:0;background:var(--violet);color:#fff;border-radius:13px;padding:11px 17px}
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:18px;padding-top:38px}
.profile-main{display:grid;gap:14px}
.profile-hero{background:linear-gradient(135deg,var(--ink),#272f5b);color:#fff;border-radius:28px;padding:25px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}
.profile-hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(84,216,255,.09);left:-50px;top:-80px}
.profile-avatar{width:67px;height:67px;border-radius:21px;background:linear-gradient(145deg,var(--violet),#a57eff);display:grid;place-items:center;font-size:1.5rem;font-weight:800;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.profile-avatar i{position:absolute;font-style:normal;font-size:.62rem;left:-4px;bottom:-4px;width:23px;height:23px;border-radius:8px;background:var(--cyan);color:var(--ink);display:grid;place-items:center;border:3px solid var(--ink)}
.profile-hero>div:nth-child(2){display:grid}.profile-hero>div:nth-child(2)>span{font-size:.7rem;color:#adb2ce}.profile-hero h2{margin:4px 0;font-size:1.35rem}.profile-hero p{margin:0;color:#c9ccdc;font-size:.76rem}
.profile-phone[dir="ltr"]{direction:ltr;unicode-bidi:isolate;text-align:right;justify-self:start}
.profile-hero>button{margin-right:auto;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:11px;padding:8px 13px;cursor:pointer;z-index:2}
.profile-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}
.card-heading{display:flex;align-items:center;gap:10px}.card-heading>div{display:grid}.card-heading b{font-size:.87rem}.card-heading small{color:var(--muted);font-size:.68rem;margin-top:3px}.card-icon{width:37px;height:37px;border-radius:12px;background:var(--soft);color:var(--violet);display:grid;place-items:center}.card-heading .text-button{margin-right:auto}
.info-rows{margin-top:15px;border-top:1px solid var(--line)}
.info-rows button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 2px;display:grid;grid-template-columns:110px 1fr auto;text-align:right;cursor:pointer}.info-rows button:last-child{border-bottom:0}.info-rows span{font-size:.75rem;color:var(--muted)}.info-rows b{font-size:.8rem}.info-rows i{font-style:normal;color:#aaa}
.profile-history{display:grid;gap:5px;margin-top:12px}.profile-history .recent-item{border-bottom:1px solid var(--line);border-radius:0}.profile-history .recent-item:last-child{border:0}
.logout-button{border:1px solid #f1ccd3;background:#fff5f7;color:var(--danger);border-radius:15px;padding:12px;cursor:pointer}
.profile-aside{display:grid;gap:13px;align-content:start}
.wallet-card{border-radius:25px;padding:22px;background:linear-gradient(145deg,#7656f5,#5544ce);color:#fff;box-shadow:0 20px 45px rgba(78,58,197,.24);position:relative;overflow:hidden}
.wallet-card:after{content:"◆";position:absolute;font-size:8rem;color:rgba(255,255,255,.06);left:-17px;top:-40px}
.wallet-card>span{font-size:.75rem;color:#ddd7ff}.wallet-card>div{display:flex;align-items:baseline;gap:6px;margin:7px 0}.wallet-card>div b{font-size:2.35rem}.wallet-card>div small{font-size:.8rem}.wallet-card>div i{margin-right:auto;font-style:normal;color:#f7d177}.wallet-card p{font-size:.72rem;line-height:1.75;color:#e6e2ff}.wallet-card button{width:100%;border:0;border-radius:13px;background:#fff;color:#5643ce;padding:11px;font-weight:700;cursor:pointer;position:relative;z-index:2}
.profile-wallet-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-template-areas:"label action" "balance action" "copy action";column-gap:24px;align-items:center}
.profile-wallet-card>span{grid-area:label}.profile-wallet-card>div{grid-area:balance}.profile-wallet-card>p{grid-area:copy;margin:0}.profile-wallet-card>button{grid-area:action}
.wallet-ledger{background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px}.ledger-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 52px}.ledger-row:last-child{border:0}.ledger-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#eef8f4;color:var(--success)}.ledger-row.is-debit .ledger-icon{background:#fff1f3;color:var(--danger)}.ledger-row>div{display:grid}.ledger-row b{font-size:.72rem}.ledger-row small{font-size:.6rem;color:var(--muted)}.ledger-row>strong{margin-right:auto;font-size:.76rem;color:var(--success)}.ledger-row.is-debit>strong{color:var(--danger)}
.intro-overlay,.modal-layer,.sheet-layer,.scanner-layer{position:fixed;inset:0;z-index:1000}
.intro-overlay{background:var(--paper);overflow:auto}
.intro-shell{min-height:100%;width:min(980px,100%);margin:auto;display:grid;grid-template-rows:auto 1fr auto;padding:25px 28px 32px}
.intro-top{display:flex;align-items:center;justify-content:space-between}.intro-top>button{border:0;background:transparent;color:var(--muted);cursor:pointer}.intro-top>span{font-size:.75rem;color:var(--muted)}
.intro-dots{display:flex;gap:6px;direction:ltr}.intro-dots i{width:7px;height:7px;border-radius:5px;background:#d9d7e1;transition:.25s}.intro-dots i.is-active{width:24px;background:var(--violet)}
.intro-track{position:relative;min-height:570px}
.intro-slide{display:none;grid-template-columns:1.03fr .97fr;align-items:center;gap:52px;min-height:100%;animation:introIn .4s ease both}
.intro-slide.is-active{display:grid}
@keyframes introIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.intro-copy>span{display:inline-block;color:var(--violet);font-weight:700;font-size:.8rem;background:#ede9ff;border-radius:99px;padding:7px 12px}.intro-copy h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.22;letter-spacing:-.04em;margin:18px 0}.intro-copy h2 em{font-style:normal;color:var(--violet)}.intro-copy p{color:var(--muted);line-height:2.1;max-width:430px}
.intro-art{aspect-ratio:1/1;border-radius:42px;position:relative;overflow:hidden;background:linear-gradient(145deg,#eeeaff,#f9f8fc);box-shadow:inset 0 0 0 1px rgba(115,87,246,.08)}
.art-value{background:radial-gradient(circle at 50% 48%,rgba(84,216,255,.25),transparent 25%),linear-gradient(145deg,#151a38,#252c58)}
.price-cloud{position:absolute;top:18%;right:10%;background:#fff;border-radius:18px;padding:11px 15px;display:grid;transform:rotate(5deg);box-shadow:0 15px 30px rgba(0,0,0,.18)}.price-cloud span{font-size:.66rem;color:var(--muted)}.price-cloud b{font-size:.93rem;color:var(--danger)}
.openbook-orb{position:absolute;width:51%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.08);left:24%;top:28%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 70px rgba(84,216,255,.17)}.openbook-orb img{width:64%;border-radius:28%}.openbook-orb i{position:absolute;bottom:-8px;background:var(--cyan);color:var(--ink);border-radius:99px;padding:7px 12px;font-style:normal;font-size:.69rem;font-weight:700}.spark{position:absolute;color:var(--cyan)}.spark-a{left:14%;top:24%;font-size:1.7rem}.spark-b{right:17%;bottom:20%;font-size:.9rem}
.art-grade{background:linear-gradient(145deg,#f3f0ff,#eaf9fc)}.grade-rings{position:absolute;inset:17%;border:1px solid rgba(115,87,246,.2);border-radius:50%;display:grid;place-items:center}.grade-rings>i{position:absolute;border-radius:50%;border:1px solid rgba(115,87,246,.14)}.grade-rings>i:nth-child(1){inset:12%}.grade-rings>i:nth-child(2){inset:26%}.grade-rings>i:nth-child(3){inset:38%;background:linear-gradient(145deg,var(--violet),#4f47ca);box-shadow:0 18px 40px rgba(80,60,196,.28)}.grade-rings>div{z-index:2;color:#fff;display:grid;text-align:center}.grade-rings b{font-size:2.5rem;line-height:1}.grade-rings span{font-size:.65rem}.level-card{position:absolute;background:#fff;padding:8px 12px;border-radius:12px;font-size:.7rem;box-shadow:0 10px 25px rgba(40,32,90,.12)}.level-one{right:6%;top:24%;transform:rotate(7deg)}.level-two{left:4%;top:47%;transform:rotate(-5deg);color:var(--violet);font-weight:700}.level-three{right:15%;bottom:10%;transform:rotate(4deg)}
.art-camera{background:linear-gradient(160deg,#181d3b,#0c1025)}.paper-card{position:absolute;inset:16% 12%;background:#fff;border-radius:12px;transform:rotate(-3deg);padding:21% 10%;font-family:Consolas,monospace;color:#30344a;box-shadow:0 20px 40px rgba(0,0,0,.22)}.paper-card span{font-size:1.15rem}.paper-card i{display:block;height:6px;border-radius:4px;background:#e6e7ed;margin-top:14px}.paper-card i:nth-child(3){width:75%}.paper-card i:nth-child(4){width:88%}
.scan-frame{position:absolute;inset:12%;border:2px solid rgba(84,216,255,.4);border-radius:18px}.scan-frame b{position:absolute;width:34px;height:34px;border-color:var(--cyan);border-style:solid}.scan-frame b:nth-child(1){right:-2px;top:-2px;border-width:4px 4px 0 0;border-radius:0 14px 0 0}.scan-frame b:nth-child(2){left:-2px;top:-2px;border-width:4px 0 0 4px;border-radius:14px 0 0}.scan-frame b:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 14px}.scan-frame b:nth-child(4){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 14px}.scan-frame>span{position:absolute;bottom:-38px;right:50%;transform:translateX(50%);background:#123c42;color:var(--cyan);padding:6px 10px;border-radius:99px;font-size:.63rem;white-space:nowrap}.explain-bubble{position:absolute;right:6%;top:5%;background:var(--violet);color:#fff;padding:9px 12px;border-radius:14px 14px 4px 14px;font-size:.67rem}
.art-steps{background:linear-gradient(145deg,#f7f3ec,#f2effd)}.step-path{position:absolute;right:13%;left:13%;top:23%;display:flex;align-items:center;direction:ltr}.step-path i{width:48px;height:48px;border-radius:17px;background:#fff;border:2px solid #ddd9e7;display:grid;place-items:center;font-style:normal;font-weight:800;color:#999}.step-path i.done{background:var(--violet);color:#fff;border-color:var(--violet);box-shadow:0 9px 22px rgba(115,87,246,.22)}.step-path span{height:2px;flex:1;background:#dcd8e5}.hint-card{position:absolute;right:12%;left:12%;top:43%;background:#fff;border:1px solid #e1ddea;border-radius:20px;padding:18px;display:grid;box-shadow:0 18px 38px rgba(52,43,91,.12)}.hint-card span{font-size:.68rem;color:var(--violet);font-weight:700}.hint-card b{font-size:.87rem;margin-top:8px}.no-copy{position:absolute;bottom:13%;right:24%;left:24%;background:#fff0e7;color:#ba6129;border:1px dashed #e3a37b;border-radius:13px;padding:9px;text-align:center;font-size:.72rem;font-weight:700;transform:rotate(-2deg)}
.intro-actions{display:flex;justify-content:center;gap:9px}.intro-next{min-width:190px;border:0;border-radius:16px;background:var(--ink);color:#fff;padding:13px 18px;display:flex;justify-content:center;gap:18px;cursor:pointer;font-weight:700}.intro-next i{font-style:normal}.intro-back{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 18px;cursor:pointer;color:var(--muted)}
.modal-backdrop,.sheet-backdrop{position:absolute;inset:0;background:rgba(10,12,29,.6);backdrop-filter:blur(8px)}
.auth-card,.profile-editor-card{position:absolute;right:50%;top:50%;transform:translate(50%,-50%);width:min(430px,calc(100% - 28px));max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:29px;padding:31px;box-shadow:0 30px 90px rgba(5,7,20,.35);animation:modalIn .24s ease both}
@keyframes modalIn{from{opacity:0;transform:translate(50%,-46%) scale(.97)}to{opacity:1;transform:translate(50%,-50%) scale(1)}}
.modal-close{position:absolute;left:17px;top:17px;border:0;width:33px;height:33px;border-radius:11px;background:#f1eff5;color:#777;cursor:pointer;font-size:1.2rem}
.auth-brand{width:72px;height:72px;border-radius:22px;margin:0 auto 19px;overflow:hidden;box-shadow:0 12px 30px rgba(81,67,188,.2)}.auth-brand img{width:100%;height:100%}
.auth-card>div:not(.auth-brand),.profile-editor-card{text-align:center}.auth-kicker{color:var(--violet);font-size:.72rem;font-weight:700}.auth-card h2,.profile-editor-card h2{font-size:1.55rem;margin:7px 0}.auth-card p,.profile-editor-card>p{color:var(--muted);font-size:.8rem;line-height:1.8;margin:0 0 20px}
.auth-card form,.profile-editor-card form{display:grid;gap:13px;text-align:right}.auth-card label,.profile-editor-card label,.profile-editor-card .profile-field{font-size:.72rem;color:#606174;display:grid;gap:6px}.phone-field{border:1px solid var(--line);height:50px;border-radius:14px;display:flex;align-items:center;padding:0 13px;direction:ltr}.phone-field:focus-within{border-color:var(--violet)}.phone-field span{border-right:1px solid var(--line);padding-right:12px;color:#9b9baa}.phone-field input{border:0;outline:0;width:100%;padding-left:11px;letter-spacing:.04em}
.auth-card form>button,.profile-editor-card form>button{border:0;border-radius:14px;background:var(--ink);color:#fff;padding:13px;cursor:pointer;font-weight:700}
.auth-terms{display:block;text-align:center;color:#aaa;font-size:.61rem;margin-top:18px}
.otp-phone{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.02em}
.otp-boxes{display:flex;gap:7px;justify-content:center}.otp-boxes input{width:48px;height:54px;border:1px solid var(--line);border-radius:13px;text-align:center;font-size:1.35rem;font-weight:700}.otp-boxes input:focus{border-color:var(--violet);outline:3px solid rgba(115,87,246,.12)}
.otp-resend{margin-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:.66rem;color:var(--muted)}.otp-resend button{border:0;background:transparent;color:var(--violet);cursor:pointer}
.profile-editor-card{text-align:right}.profile-editor-card>h2,.profile-editor-card>p{text-align:center}.profile-editor-card>span{display:block;text-align:center}.profile-editor-card input,.profile-editor-card select{height:48px;border:1px solid var(--line);border-radius:13px;padding:0 12px;background:#fff}.profile-editor-card input:focus,.profile-editor-card select:focus{border-color:var(--violet);outline:3px solid rgba(115,87,246,.12)}
.smart-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.smart-select-trigger{width:100%;height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 13px;display:flex;align-items:center;gap:10px;text-align:right;cursor:pointer;transition:.18s}
.smart-select-trigger:hover,.smart-select-trigger[aria-expanded="true"]{border-color:#cfc7fa;box-shadow:0 0 0 3px rgba(115,87,246,.09)}
.smart-select-trigger>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:.82rem}
.smart-select-trigger>i{margin-right:auto;width:20px;height:20px;border-radius:7px;background:var(--soft);display:grid;place-items:center;font-style:normal;color:var(--violet);transition:.18s}
.smart-select-trigger[aria-expanded="true"]>i{transform:rotate(180deg)}
.smart-select-layer{position:fixed;inset:0;z-index:1600}
.smart-select-backdrop{position:absolute;inset:0;background:rgba(8,10,26,.56);backdrop-filter:blur(4px)}
.smart-select-sheet{position:absolute;right:50%;bottom:0;transform:translateX(50%);width:min(500px,100%);max-height:min(74vh,660px);background:#fff;border-radius:28px 28px 0 0;padding:19px 18px max(20px,env(safe-area-inset-bottom));box-shadow:0 -25px 75px rgba(8,10,26,.25);display:flex;flex-direction:column;animation:smartSheetIn .22s ease both}
@keyframes smartSheetIn{from{transform:translate(50%,18px);opacity:.6}to{transform:translate(50%,0);opacity:1}}
.smart-select-sheet>header{display:flex;align-items:center;padding:0 2px 14px}.smart-select-sheet>header>div{display:grid}.smart-select-sheet>header small{font-size:.65rem;color:var(--violet);font-weight:700}.smart-select-sheet>header h3{font-size:1.2rem;margin:3px 0 0}.smart-select-sheet>header button{margin-right:auto;width:37px;height:37px;border:0;border-radius:12px;background:var(--soft);color:#737487;font-size:1.25rem;cursor:pointer}
.smart-select-search{height:45px;border:1px solid var(--line);border-radius:13px;background:#f8f7fb;display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:10px}.smart-select-search span{color:var(--violet);font-size:1.15rem}.smart-select-search input{width:100%;height:auto;border:0;background:transparent;outline:0;padding:0}.smart-select-search input::-webkit-search-cancel-button{display:none}
.smart-select-options{min-height:70px;overflow:auto;overscroll-behavior:contain;display:grid;gap:5px;padding:2px;scrollbar-width:thin;scrollbar-color:#cbc7dc transparent}
.smart-select-group{color:#9999a8;font-size:.65rem;font-weight:700;padding:10px 9px 4px}
.smart-select-option{width:100%;min-height:47px;border:0;border-radius:13px;background:transparent;padding:8px 11px;display:flex;align-items:center;gap:10px;text-align:right;cursor:pointer;color:#37384a}.smart-select-option:hover{background:#f4f1ff}.smart-select-option.is-selected{background:#eeeaff;color:#5b42dc;font-weight:700}.smart-select-option>i{margin-right:auto;width:22px;height:22px;border-radius:8px;border:1px solid #dcd9e6;display:grid;place-items:center;font-style:normal;color:transparent}.smart-select-option.is-selected>i{border-color:var(--violet);background:var(--violet);color:#fff}
.smart-select-empty{text-align:center;color:var(--muted);font-size:.78rem;padding:28px 12px}
.bottom-sheet{position:absolute;bottom:0;right:50%;transform:translateX(50%);width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:30px 30px 0 0;padding:18px 24px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 70px rgba(5,7,20,.24);animation:sheetIn .28s ease both}
.research-layer{z-index:1100}.research-sheet{width:min(620px,100%);max-height:min(88dvh,760px);overflow:hidden;padding:18px 0 0;display:flex;flex-direction:column}.research-sheet>.sheet-handle{flex:0 0 auto}.research-heading{flex:0 0 auto;padding:0 24px 15px 64px}.research-heading>span{background:linear-gradient(145deg,#eeeaff,#e9f9fc);color:var(--violet)}
.research-form{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.research-fields{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:13px;padding:4px 24px 18px;scrollbar-width:thin;scrollbar-color:#cbc7dc transparent}.research-field{display:grid;gap:7px;color:#5f6073;font-size:.73rem}.research-field textarea,.research-field select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:11px 12px;outline:0;transition:.18s}.research-field textarea{min-height:76px;line-height:1.75;resize:none}.research-topic-field textarea{min-height:70px}.research-field textarea:focus,.research-field select:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(115,87,246,.1)}.research-field>small{justify-self:end;color:#9999a8;font-size:.61rem}.research-natural-note{margin:1px 0 0;border:1px solid #e1dcff;border-radius:15px;background:#f8f6ff;padding:11px 12px;display:flex;align-items:flex-start;gap:8px;color:#69697c;font-size:.67rem;line-height:1.8}.research-natural-note i{font-style:normal;color:var(--violet);flex:0 0 auto}.research-actions{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;border-top:1px solid var(--line);background:#fff;padding:12px 24px calc(14px + env(safe-area-inset-bottom))}.research-actions button{min-height:44px;border-radius:13px;padding:9px 14px;cursor:pointer;font-weight:700;font-size:.76rem}.research-actions button:first-child{border:1px solid var(--line);background:#fff;color:var(--muted)}.research-actions button:last-child{border:0;background:var(--ink);color:#fff}
@keyframes sheetIn{from{transform:translate(50%,100%)}to{transform:translate(50%,0)}}
.sheet-handle{width:44px;height:5px;border-radius:5px;background:#dedce6;margin:0 auto 15px}.sheet-close{position:absolute;left:20px;top:22px;border:0;width:32px;height:32px;border-radius:10px;background:#f0eef5;color:#777;cursor:pointer}
.sheet-heading{display:flex;gap:12px;align-items:center}.sheet-heading>span{width:48px;height:48px;border-radius:15px;background:#eeeaff;color:var(--violet);display:grid;place-items:center}.sheet-heading h2{font-size:1.25rem;margin:0}.sheet-heading p{margin:4px 0 0;color:var(--muted);font-size:.7rem}
.current-balance{margin:16px 0 12px;padding:12px 15px;background:linear-gradient(135deg,var(--ink),#22294e);color:#fff;border-radius:17px;display:flex;align-items:center;justify-content:space-between}.current-balance>span{font-size:.75rem;color:#c2c5d8}.current-balance b{display:flex;align-items:center;gap:5px}.current-balance i{font-style:normal;color:#f5cf72;font-size:.7rem}.current-balance em{font-style:normal;font-size:1.3rem}
.coin-packages{display:grid;gap:9px}.coin-package{border:1px solid var(--line);border-radius:17px;background:#fff;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;text-align:right;cursor:pointer;transition:.2s}.coin-package:hover{border-color:var(--violet);background:#fbfaff}.coin-package.is-featured{border:2px solid var(--violet);background:linear-gradient(135deg,#fbfaff,#f3f0ff)}.coin-package .package-gem{width:41px;height:41px;border-radius:13px;background:#eeeaff;color:var(--violet);display:grid;place-items:center}.coin-package>div{display:grid}.coin-package b{font-size:.86rem}.coin-package small{color:var(--muted);font-size:.65rem}.coin-package strong{font-size:.86rem}.coin-package strong span{font-size:.58rem;color:var(--muted)}.package-badge{grid-column:2;font-size:.57rem!important;color:var(--violet)!important;font-weight:700}
.coin-cost-guide{display:flex;justify-content:space-between;gap:6px;margin-top:14px;padding:10px;background:#f6f5f9;border-radius:13px}.coin-cost-guide span{font-size:.61rem;color:var(--muted)}.coin-cost-guide i{font-style:normal;color:var(--violet)}.coin-cost-guide b{color:var(--ink)}
.secure-note{text-align:center;color:#999;font-size:.61rem;margin:12px 0 0}
.scanner-layer{background:#050711;color:#fff}
.scanner-camera,.scanner-editor{position:absolute;inset:0;overflow:hidden;background:#050711}
#scanner-video{width:100%;height:100%;object-fit:cover}
.scanner-shade{position:absolute;inset:0;background:radial-gradient(ellipse 38% 48% at center,transparent 0 78%,rgba(0,0,0,.55) 79%)}
.scanner-header{position:absolute;top:0;right:0;left:0;padding:calc(15px + env(safe-area-inset-top)) 18px 15px;display:grid;grid-template-columns:45px 1fr 45px;align-items:center;background:linear-gradient(rgba(0,0,0,.58),transparent);text-align:center}.scanner-header button{width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.3);color:#fff;cursor:pointer;font-size:1.2rem}.scanner-header button:last-child{justify-self:end}.scanner-header div{display:grid}.scanner-header b{font-size:.9rem}.scanner-header small{font-size:.62rem;color:#ccd0da;margin-top:3px}
.document-guide{position:absolute;right:12%;left:12%;top:19%;bottom:23%;border:1px solid rgba(255,255,255,.22);border-radius:22px;transition:.2s}.document-guide.is-detected{border-color:rgba(84,216,255,.6);box-shadow:0 0 0 9999px rgba(0,0,0,.14),inset 0 0 30px rgba(84,216,255,.05)}.document-guide i{position:absolute;width:45px;height:45px;border-color:#fff;border-style:solid;filter:drop-shadow(0 2px 5px #000)}.document-guide.is-detected i{border-color:var(--cyan)}.document-guide i:nth-child(1){right:-2px;top:-2px;border-width:4px 4px 0 0;border-radius:0 18px 0 0}.document-guide i:nth-child(2){left:-2px;top:-2px;border-width:4px 0 0 4px;border-radius:18px 0 0}.document-guide i:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 18px}.document-guide i:nth-child(4){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 18px}.document-guide span{position:absolute;right:50%;transform:translateX(50%);bottom:-45px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.1);padding:7px 12px;border-radius:99px;font-size:.67rem;white-space:nowrap}.document-guide.is-detected span{color:var(--cyan)}
.scanner-tips{position:absolute;bottom:16%;right:50%;transform:translateX(50%);display:grid;justify-items:center;gap:8px;font-size:.65rem;color:#e0e1e7}.quality-meter{display:flex;gap:4px}.quality-meter i{width:22px;height:3px;border-radius:3px;background:rgba(255,255,255,.25)}.quality-meter i.on{background:var(--cyan)}
.scanner-controls{position:absolute;right:0;left:0;bottom:0;padding:15px 30px calc(18px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(transparent,rgba(0,0,0,.74))}.scanner-controls>button:not(.shutter){border:0;background:transparent;color:#fff;display:grid;justify-items:center;gap:5px;cursor:pointer}.scanner-controls>button:first-child{justify-self:start}.scanner-controls>.shutter{grid-column:2;justify-self:center}.scanner-controls>button span{width:43px;height:43px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:.75rem}.scanner-controls>button small{font-size:.58rem;color:#cfd1da}.scanner-controls>button.is-active span{background:rgba(84,216,255,.18);color:var(--cyan)}
.shutter{width:74px;height:74px;border-radius:50%;border:3px solid #fff;background:rgba(255,255,255,.14);padding:5px;cursor:pointer}.shutter i{display:block;width:100%;height:100%;border-radius:50%;background:#fff;transition:.15s}.shutter:active i{transform:scale(.88);background:var(--cyan)}
.scanner-editor{background:#0b0d18}.scanner-editor>header{height:82px;padding:calc(12px + env(safe-area-inset-top)) 16px 10px;display:grid;grid-template-columns:70px 1fr 70px;align-items:center;text-align:center}.scanner-editor>header button{border:0;background:transparent;color:#d4d5de;font-size:.72rem;cursor:pointer}.scanner-editor>header button:last-child{background:var(--cyan);color:var(--ink);border-radius:11px;padding:8px;font-weight:700}.scanner-editor>header div{display:grid}.scanner-editor>header b{font-size:.9rem}.scanner-editor>header small{font-size:.6rem;color:#9699a8}
.editor-canvas-wrap{position:absolute;top:90px;right:5%;left:5%;bottom:105px;display:grid;place-items:center}.editor-canvas-wrap canvas{max-width:100%;max-height:100%;box-shadow:0 18px 50px rgba(0,0,0,.4)}.crop-corners{position:absolute;inset:5%}.crop-corners i{position:absolute;width:32px;height:32px;border-color:var(--cyan);border-style:solid}.crop-corners i:nth-child(1){right:0;top:0;border-width:3px 3px 0 0}.crop-corners i:nth-child(2){left:0;top:0;border-width:3px 0 0 3px}.crop-corners i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px}.crop-corners i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0}
.editor-tools{position:absolute;bottom:0;right:0;left:0;height:95px;padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:center;gap:18px;background:#121522;border-top:1px solid rgba(255,255,255,.07)}.editor-tools button{border:0;background:transparent;color:#aeb0bc;display:grid;justify-items:center;align-content:center;gap:5px;cursor:pointer;min-width:54px}.editor-tools span{font-size:1.25rem}.editor-tools small{font-size:.6rem}.editor-tools button.is-active{color:var(--cyan)}
.toast-stack{position:fixed;z-index:2000;top:18px;right:50%;transform:translateX(50%);width:min(420px,calc(100% - 24px));display:grid;gap:8px;pointer-events:none}.toast{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 13px;box-shadow:0 14px 40px rgba(10,9,30,.2);display:flex;align-items:center;gap:9px;font-size:.75rem;animation:toastIn .25s ease both;transition:opacity .2s ease,transform .2s ease}.toast:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success)}.toast.is-error:before{background:var(--danger)}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.app-loader{position:fixed;inset:0;z-index:3000;background:var(--paper);display:grid;place-content:center;justify-items:center;transition:.35s}.app-loader.is-hidden{opacity:0;visibility:hidden}.app-loader img{width:84px;border-radius:25px;box-shadow:0 16px 38px rgba(73,59,172,.2)}.app-loader span{width:130px;height:3px;background:#e2dfea;border-radius:4px;margin-top:23px;overflow:hidden;position:relative}.app-loader span:after{content:"";position:absolute;inset:0;width:45%;background:linear-gradient(90deg,var(--violet),var(--cyan));animation:loader 1.2s infinite ease-in-out}.app-loader p{font-size:.72rem;color:var(--muted)}
@keyframes loader{from{transform:translateX(140%)}to{transform:translateX(-230%)}}
body.is-modal-open{overflow:hidden}
body.is-chatting .welcome-block{padding:10px 20px 16px;text-align:right}.is-chatting .welcome-block h1{font-size:1.55rem;margin:7px 0}.is-chatting .welcome-block h1 br,.is-chatting .welcome-block>p,.is-chatting .welcome-block .grade-chip,.is-chatting .quick-grid{display:none}

@media(max-width:980px){
  .home-layout{grid-template-columns:1fr}.home-aside{display:none}.history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-grid{grid-template-columns:1fr 280px}.intro-slide{gap:30px}.intro-track{min-height:510px}
}
@media(max-width:720px){
  :root{--header:66px}.app-shell{padding-bottom:0}
  body{background:radial-gradient(circle at 85% 2%,rgba(115,87,246,.1),transparent 22rem),var(--paper)}
  body.is-home-screen{overflow:hidden}
  .topbar{height:var(--header);padding:8px 14px}.brand img{width:42px;height:42px;border-radius:13px}.brand-copy small{display:none}.brand-copy b{font-size:1.05rem}.coin-pill{height:38px;padding:0 9px}.avatar-button{width:38px;height:38px;border-radius:13px}
  .app-main{padding:0 13px}body.is-home-screen .app-main{height:calc(100vh - var(--header));height:calc(100dvh - var(--header))}
  .screen-home.is-active{height:100%;overflow:hidden}.screen-home .home-layout,.screen-home .home-primary{height:100%;min-height:0}.screen-home .home-primary{display:flex;flex-direction:column}
  .screen-home .welcome-block{padding:17px 8px 13px;flex:0 0 auto}.welcome-block h1{font-size:2.12rem;margin:10px 0 9px}.welcome-block>p{font-size:.79rem;line-height:1.72;max-width:520px}.grade-chip{margin-top:10px;padding:7px 12px;font-size:.7rem}
  .quick-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;flex:0 0 auto}.screen-home .quick-card{min-height:78px;padding:10px 12px}.quick-card:nth-child(1){grid-column:1/3}.quick-card b{font-size:.79rem}.quick-card small{font-size:.65rem}.quick-card span:nth-child(2){gap:3px}
  .chat-panel{max-height:none;min-height:0;padding:15px;border-radius:20px;flex:1 1 auto;margin-bottom:8px}.chat-panel.has-messages{display:block;overflow:auto}.message-body{max-width:88%;font-size:.87rem}
  .composer-wrap{position:relative;bottom:auto;flex:0 0 auto;width:100%;margin-top:auto;padding-bottom:max(8px,env(safe-area-inset-bottom))}.composer{border-radius:21px}.composer textarea:placeholder-shown{min-height:74px;overflow-y:hidden}.composer-note{display:none}.mode-switch{width:100%;justify-content:space-around}.mode-switch button{flex:1;min-width:0;padding:6px 4px;white-space:nowrap;font-size:.69rem}
  .tool-button small{display:none}.tool-button{width:36px;padding:0;justify-content:center}.cost-preview{font-size:.66rem}
  .page-heading{padding:25px 4px 18px;align-items:start}.page-heading h2{font-size:1.7rem}.page-heading p{font-size:.75rem}.primary-small{font-size:.68rem}.history-list{grid-template-columns:1fr}.history-card{min-height:125px}
  .profile-grid{grid-template-columns:1fr;padding-top:18px}.profile-aside{grid-row:2}.profile-hero{padding:18px}.profile-avatar{width:56px;height:56px;border-radius:18px}.profile-hero h2{font-size:1.08rem}.profile-hero>button{font-size:.66rem;padding:7px 9px}.profile-wallet-card{display:block}.profile-wallet-card>p{margin:0 0 12px}.wallet-ledger{display:none}
  .intro-shell{padding:18px 18px calc(25px + env(safe-area-inset-bottom))}.intro-track{min-height:0}.intro-slide{grid-template-columns:1fr;grid-template-rows:minmax(270px,44vh) auto;gap:22px;padding:18px 0}.intro-art{height:min(390px,42vh);width:auto;aspect-ratio:1;margin:auto}.intro-copy{text-align:center}.intro-copy h2{font-size:2rem;margin:12px 0}.intro-copy p{font-size:.81rem;line-height:1.95;margin:0 auto}.intro-copy>span{font-size:.68rem}.intro-actions{margin-top:14px}
  .auth-card,.profile-editor-card{padding:27px 20px}.bottom-sheet{padding-right:17px;padding-left:17px}.research-sheet{max-height:calc(100dvh - env(safe-area-inset-top) - 8px);padding-right:0;padding-left:0;border-radius:26px 26px 0 0}.research-heading{padding-right:17px;padding-left:58px}.research-fields{padding-right:17px;padding-left:17px}.research-actions{padding-right:17px;padding-left:17px}.coin-cost-guide{overflow:auto}.coin-cost-guide span{white-space:nowrap}
  .document-guide{right:7%;left:7%;top:18%;bottom:25%}.scanner-shade{background:rgba(0,0,0,.16)}
  body.is-chatting .welcome-block{padding:4px 3px 8px}.is-chatting .welcome-block h1{font-size:1.25rem}.is-chatting .chat-panel{min-height:0}
}
@media(max-width:390px){
  .welcome-block h1{font-size:1.9rem}.quick-card{padding:9px;gap:8px}.quick-icon{width:30px;height:30px;flex-basis:30px}.quick-card small{font-size:.62rem}
  .coin-pill>span:last-child{display:none}.intro-copy h2{font-size:1.72rem}.intro-slide{grid-template-rows:minmax(240px,39vh) auto}.intro-art{height:min(330px,38vh)}
}
@media(max-width:720px) and (max-height:640px){
  .screen-home .welcome-block{padding-top:6px}.welcome-block>p{display:none}.welcome-block h1{font-size:1.72rem}.grade-chip{margin-top:7px}
  .screen-home .quick-card{min-height:69px}.mode-switch button{padding-top:4px;padding-bottom:4px}.composer textarea{min-height:40px;padding-bottom:5px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
