@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alimama DaoLiTi;font-display:swap;src:url(data:font/woff2;base64,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)format("woff2")}:root{--paper:#ececec;--paper-2:#fafafa;--card:#f1f1f0;--card-2:#fff;--line:#dcdcdc;--ink:#1f2124;--ink-2:#4a4c50;--ink-3:#8a8c90;--ink-4:#b9bbbe;--wood:#7db9a4;--fire:#8e3b2e;--fire-2:#a64b3c;--earth:#c07d45;--metal:#e9c96a;--metal-soft:#fbf3d5;--metal-ink:#b8912e;--water:#2f6e7e;--r-xl:28px;--r-lg:22px;--r-md:16px;--r-pill:999px;--shadow-lift:0 4px 14px #0000000f;--font-cn:"Nunito Variable", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-display:"Alimama DaoLiTi", "Songti SC", "Noto Serif SC", serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-cn);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:15px;line-height:1.5}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}h1{font-size:22px;font-weight:500;line-height:1.25}h2{font-size:15px;font-weight:700}.screen{max-width:480px;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));background:var(--paper-2);margin:0 auto;position:relative;overflow:hidden}.sub{color:var(--ink-3);font-size:12px}.hint{color:var(--ink-3);font-size:12px;line-height:1.6}.card{background:var(--card);border-radius:var(--r-lg);padding:18px}.pill{border-radius:var(--r-pill);background:var(--ink);color:#fff;justify-content:center;align-items:center;min-height:44px;padding:0 26px;font-size:15px;font-weight:500;display:inline-flex}.pill:disabled{opacity:.5}.pill.ghost{background:var(--card-2);color:var(--ink);box-shadow:var(--shadow-lift)}.pill.small{min-height:36px;padding:0 18px;font-size:13px}.pill.wide{width:100%;min-height:50px}.cover .glyph-bg{opacity:.07;pointer-events:none;-webkit-user-select:none;user-select:none;height:96vh;position:absolute;top:2vh;right:4%}.cover .who{right:20px;top:calc(20px + env(safe-area-inset-top));color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:flex;position:absolute}.avatar{background:var(--wood);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:500;display:grid}.cover .lockup{align-items:center;gap:16px;display:flex;position:absolute;top:34%;left:26px}.cover .word{flex-direction:column;gap:8px;line-height:1;display:flex}.cover .word b{font-family:var(--font-display);letter-spacing:8px;font-size:36px;font-weight:400}.cover .word span{letter-spacing:5px;color:var(--ink-3);padding-left:1px;font-size:11px}.cover .tagline{letter-spacing:6px;color:var(--ink-3);font-size:13px;position:absolute;top:calc(34% + 84px);left:99px}.cover footer{left:26px;right:20px;bottom:calc(28px + env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute}.cover .notes{color:var(--ink-4);flex-direction:column;gap:6px;font-size:10px;display:flex}.cover .glyph-cap{letter-spacing:2px}.cover .pill{flex:none}.form>.sub{margin-top:2px}.form form{flex-direction:column;gap:24px;margin-top:28px;display:flex}.field{flex-direction:column;gap:10px;display:flex}.field .label{color:var(--ink-2);font-size:13px}.field select,.field input[type=time],.field input[type=number],.field input[type=text],.field input[type=password]{border-radius:var(--r-md);background:var(--card);appearance:none;border:0;width:100%;height:48px;padding:0 14px;font-size:16px}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238A8C90' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:10px;padding-right:30px}.field input:disabled{color:var(--ink-4)}.field :focus-visible,.pill:focus-visible,.seg button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.row3{grid-template-columns:1.3fr 1fr 1fr;gap:8px;display:grid}.seg{border-radius:var(--r-pill);background:var(--card);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{border-radius:var(--r-pill);height:40px;color:var(--ink-3)}.seg button.on{background:var(--card-2);color:var(--ink);box-shadow:var(--shadow-lift);font-weight:500}.check{min-height:28px;color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.check input{width:18px;height:18px;accent-color:var(--ink)}.error{color:var(--fire-2);font-size:13px}.field input.code{letter-spacing:3px;text-transform:uppercase;font-variant-numeric:tabular-nums}.account>.sub{margin-top:2px}.account .card{margin-top:24px}.account .card .field{margin-top:18px}.account .card .field input{background:var(--card-2)}.account .card>.error{margin-top:12px}.invites code{letter-spacing:3px;color:var(--ink);font-variant-numeric:tabular-nums;font-family:inherit;font-size:16px}.invites li,.models li{justify-content:space-between;min-height:52px}.models .what{color:var(--ink);font-size:15px}.invites li.used code{color:var(--ink-4);text-decoration:line-through}.prefs li{gap:4px;min-height:52px}.prefs .what{min-width:0;color:var(--ink);flex:1;font-size:15px;line-height:1.5}.prefs form{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.prefs form.add{margin-top:14px}.prefs form input{border-radius:var(--r-md);background:var(--card-2);border:0;flex:1;min-width:0;height:44px;padding:0 14px;font-size:16px}.account-actions{flex-direction:column;align-items:center;gap:18px;margin-top:32px;display:flex}.text-btn{min-height:44px;color:var(--ink-3);padding:0 12px;font-size:13px}.text-btn.danger,.pill.danger{color:var(--fire-2)}.pill.danger{background:var(--card-2);box-shadow:var(--shadow-lift)}.pair{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.chart-screen{flex-direction:column;gap:12px;display:flex}.topbar{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:4px;display:flex}.chart{padding:16px 16px 14px;position:relative;overflow:hidden}.chart>:not(.glyph-bg){z-index:1;position:relative}.chart .glyph-bg{opacity:.07;pointer-events:none;-webkit-user-select:none;user-select:none;width:116px;height:340px;position:absolute;top:-50px;right:-6px;-webkit-mask-image:linear-gradient(#000 45%,#0000 74%);mask-image:linear-gradient(#000 45%,#0000 74%)}.chart-head{align-items:center;gap:10px;display:flex}.person{align-items:center;gap:14px;margin:16px 0 14px;display:flex}.person .vname{writing-mode:vertical-rl;letter-spacing:4px;max-height:132px;font-size:28px;font-weight:900;line-height:1;overflow:hidden}.person .vname.long{letter-spacing:2px;font-size:18px}.person .sex{font-size:14px}.person .sex.f{color:var(--fire-2)}.person .sex.m{color:var(--water)}.person .loc{min-width:0;color:var(--ink-2);flex:1;font-size:13px;line-height:1.6}.person .loc small{color:var(--ink-3);font-size:11px;display:block}.person .edit{background:var(--card-2);width:32px;height:32px;box-shadow:var(--shadow-lift);border-radius:8px;flex:none;align-self:flex-start;place-items:center;display:grid}.person .edit svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}table.bazi{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}table.bazi th{text-align:center;padding:6px 0;font-weight:500}table.bazi th:first-child,table.bazi td:first-child{text-align:left;width:46px;color:var(--ink-2);font-weight:400}table.bazi td{text-align:center;border-top:1px solid var(--line);vertical-align:top;padding:8px 0}table.bazi td.plain{color:var(--ink);font-variant-numeric:tabular-nums}table.bazi td.tag{color:var(--ink-3);padding:6px 0 8px;font-size:11px}table.bazi td.tag b{margin-top:2px;font-size:13px;font-weight:500;display:block}table.bazi td.sound{color:var(--ink-3);font-size:12px}.hidden-stems span{line-height:1.7;display:block}.hidden-stems small{color:var(--ink-3);margin-left:4px;font-size:11px}.circ{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:17px;font-weight:500;display:inline-grid}.c-wood{background:var(--wood)}.c-fire{background:var(--fire)}.c-earth{background:var(--earth)}.c-water{background:var(--water)}.c-metal{background:var(--metal-soft);color:var(--metal-ink);box-shadow:inset 0 0 0 1.5px var(--metal)}.t-wood{color:var(--wood)}.t-fire{color:var(--fire-2)}.t-earth{color:var(--earth)}.t-metal{color:var(--metal-ink)}.t-water{color:var(--water)}.note{border-top:1px solid var(--line);color:var(--ink-2);margin-top:12px;padding-top:12px;font-size:12px;line-height:1.7}.card>.sub{margin-top:4px;line-height:1.6}.rows{margin-top:10px;list-style:none}.rows li{border-top:1px solid var(--line);min-height:40px;color:var(--ink-2);align-items:center;gap:14px;font-size:13px;display:flex}.rows li:first-child{border-top:0}.rows b{color:var(--ink);letter-spacing:2px;font-size:15px;font-weight:500}.rows .num{font-variant-numeric:tabular-nums;margin-left:auto}.rows .num+.num,.rows .num:first-child{margin-left:0}.rows .num:first-child{width:40px}.rows .dim{color:var(--ink-3);font-size:12px}.rows li.now{position:relative}.rows li.now:before{content:"";background:var(--ink);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:-10px}.rows li.now b{font-weight:700}.card>.hint{margin-top:8px}.now-pair{grid-template-columns:1fr 1fr;margin-top:14px;padding-bottom:6px;display:grid}.now-pair div{color:var(--ink-2);flex-direction:column;gap:2px;font-size:13px;display:flex}.now-pair b{letter-spacing:4px;color:var(--ink);font-size:24px;font-weight:500}.foot-note{text-align:center;color:var(--ink-4);margin-top:8px;font-size:11px}.center{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.with-tabs{padding-bottom:calc(108px + env(safe-area-inset-bottom))}.tabbar-dock{left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));z-index:10;pointer-events:none;justify-content:center;padding:0 14px;display:flex;position:fixed}.tabbar{pointer-events:auto;background:var(--card-2);width:100%;max-width:452px;height:64px;box-shadow:var(--shadow-lift);border-radius:32px;justify-content:space-around;align-items:center;padding:0 6px;display:flex}.tab{width:52px;height:52px;color:var(--ink-3);border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.tab svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.tab.on{color:var(--ink);background:var(--card)}.tab.on svg{stroke-width:1.8px}.tab:focus-visible,.cta:focus-visible,.homework .chk:focus-visible,.ledger button:focus-visible,.month .link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.art{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;display:block;position:absolute}.greet{justify-content:space-between;align-items:center;padding:12px 4px 0;display:flex}.greet .date{color:var(--ink-3);margin-top:6px;font-size:11px}.greet .av{background:var(--card);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.daily{border-radius:var(--r-xl);background:var(--card);height:250px;margin-top:20px;padding:20px 22px;position:relative;overflow:hidden}.daily .big{z-index:2;letter-spacing:-1px;color:var(--ink-4);font-family:Songti SC,Noto Serif SC,Source Han Serif SC,serif;font-size:44px;font-weight:900;line-height:1;position:relative}.daily .energy{z-index:2;letter-spacing:1px;color:var(--ink-3);margin-top:10px;font-size:11px;position:relative}.daily .energy b{letter-spacing:0;color:var(--ink);margin-top:3px;font-size:14px;font-weight:500;display:block}.daily .qi{z-index:1;opacity:.8;width:290px;height:290px;top:-8px;right:-84px;-webkit-mask-image:linear-gradient(#000 48%,#0000 94%);mask-image:linear-gradient(#000 48%,#0000 94%)}.daily .qi-clear{top:-34px;right:-66px}.daily .qi-rain{width:270px;height:270px;top:-4px;right:-34px}.daily .qi-thunder{opacity:.6;width:210px;height:210px;top:6px;right:-30px}.daily .qi-snow{top:-78px;right:-44px}.daily .glow{filter:blur(14px);background:radial-gradient(circle,#d9b45a99,#d9b45a00 70%);border-radius:50%;width:150px;height:150px;position:absolute;top:-6px;right:20px}.daily .line{z-index:2;font-size:19px;font-weight:500;line-height:1.5;position:absolute;bottom:20px;left:22px;right:22px}.daily .line small{letter-spacing:1px;white-space:pre-line;color:var(--ink-3);margin-top:8px;font-size:11px;font-weight:400;line-height:1.6;display:block}.daily .retry{min-height:0;color:var(--ink);padding:0 0 0 10px;font-size:11px;text-decoration:underline}.doav{color:var(--ink-2);grid-template-columns:1fr 1fr;gap:10px;margin:22px 6px 0;font-size:13px;display:grid}.doav h2{color:var(--ink);margin-bottom:6px;font-size:18px;font-weight:400}.doav li{line-height:1.9;list-style:none}.cta{width:100%;color:var(--ink-3);justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;padding:0 4px;font-size:12px;display:flex}.cta .go{background:var(--ink);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.cta .go svg{stroke:#fff;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.today .foot-note{margin-top:20px}.pattern{position:relative;overflow:hidden}.pattern .art{opacity:.45;width:190px;top:-34px;right:-46px;-webkit-mask-image:linear-gradient(250deg,#000 40%,#0000 92%);mask-image:linear-gradient(250deg,#000 40%,#0000 92%)}.pattern>:not(.art){z-index:1;position:relative}.pattern .hint{max-width:68%;margin-top:6px}.pattern .row{border-top:1px solid var(--line);color:var(--ink-2);align-items:center;gap:10px;padding:10px 0;font-size:13px;line-height:1.5;display:flex}.pattern .row:first-of-type{border-top:0;margin-top:4px}.pattern .row .k{background:var(--water);border-radius:2px;flex:none;width:4px;height:26px}.gg-head{flex-direction:column;justify-content:flex-end;height:118px;padding:0 2px 12px;display:flex;position:relative}.gg-head h1,.gg-head .sub{position:relative}.gg-head .sub{margin-top:4px}.gg-head .sub small{letter-spacing:1px;color:var(--ink-4);margin-top:2px;font-size:10px;display:block}.gg-head .bird{opacity:.85;width:250px;height:188px;top:-28px;right:-68px;-webkit-mask-image:linear-gradient(190deg,#000 45%,#0000 88%);mask-image:linear-gradient(190deg,#000 45%,#0000 88%)}.ledger{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid;position:relative}.ledger .col{min-height:150px;padding:14px 12px 6px 2px}.ledger .col+.col{border-left:1px solid var(--line);padding-left:14px}.ledger .col h2{font-family:var(--font-display);margin-bottom:8px;font-size:28px;font-weight:400;line-height:1}.ledger .col.g h2{color:var(--wood)}.ledger .col.b h2{color:var(--fire-2)}.ledger li{border-top:1px solid var(--line);color:var(--ink-2);align-items:flex-start;gap:6px;padding:8px 0;font-size:13px;line-height:1.5;list-style:none;display:flex}.ledger li:first-of-type{border-top:0}.ledger li span{overflow-wrap:anywhere;flex:1}.ledger .del{width:24px;height:20px;color:var(--ink-4);flex:none;font-size:15px;line-height:1}.ledger li.ph button{min-height:28px;color:var(--ink-4)}.ledger li.ph form{flex:1}.ledger li.ph input{background:var(--card);border:0;border-radius:8px;width:100%;height:32px;padding:0 8px;font-size:16px}.ledger-screen>.error{margin-top:10px}.homework{align-items:center;gap:12px;margin-top:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.homework .chk{border:1.6px solid var(--wood);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.homework .chk svg{stroke:#0000;fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.homework.done .chk{background:var(--wood)}.homework.done .chk svg{stroke:#fff}.homework .t{z-index:1;font-size:13px;line-height:1.5;position:relative}.homework .art{opacity:.4;width:92px;top:50%;right:-14px;transform:translateY(-50%);-webkit-mask-image:linear-gradient(270deg,#000 45%,#0000 100%);mask-image:linear-gradient(270deg,#000 45%,#0000 100%)}.homework .t small{color:var(--ink-3);font-size:11px;display:block}.month{margin-top:10px;padding:14px 16px}.month .cal{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px;display:grid}.month .cal i{background:#e6e6e5;border-radius:5px;height:14px;display:block}.month .cal i.g{box-shadow:inset 0 0 0 1px var(--wood);background:#e6f2ed}.month .cal i.b{box-shadow:inset 0 0 0 1px var(--fire-2);background:#f3e4e0}.month .cal i.gb{background:linear-gradient(135deg,#e6f2ed 50%,#f3e4e0 50%)}.month .cal i.now{background:var(--ink)}.month .cal i.now.g,.month .cal i.now.b,.month .cal i.now.gb{box-shadow:0 0 0 1.5px var(--ink)}.month .cal i.now.g{background:#e6f2ed}.month .cal i.now.b{background:#f3e4e0}.month .cal i.now.gb{background:linear-gradient(135deg,#e6f2ed 50%,#f3e4e0 50%)}.month .foot{color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;display:flex}.month .link{min-height:32px;color:var(--ink);font-weight:500}.chat-screen{flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;display:flex}.chat-screen>.beast{z-index:0;right:-46px;top:calc(52px + env(safe-area-inset-top));opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;width:240px;position:absolute;-webkit-mask-image:linear-gradient(250deg,#000 62%,#0000 100%);mask-image:linear-gradient(250deg,#000 62%,#0000 100%)}.chat-top{z-index:2;flex-wrap:wrap;flex:none;align-items:center;gap:0 10px;padding-bottom:12px;display:flex;position:relative}.chat-top>.icon-btn,.chat-top>img,.chat-top .name{z-index:1;margin-top:4px;position:relative}.chat-top .name{font-size:16px;font-weight:500;line-height:1.3}.opener{z-index:1;color:var(--ink-3);flex-basis:100%;margin-top:22px;padding:0 2px;font-size:12px;line-height:1.6;position:relative}.opener b{color:var(--ink-2);font-size:13px;font-weight:500;display:block}.opener small{letter-spacing:1px;color:var(--ink-4);margin-top:2px;font-size:10px;display:block}.icon-btn{background:var(--card-2);width:36px;height:36px;box-shadow:var(--shadow-lift);border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.chat-scroll{z-index:1;overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;margin:0 -18px;padding:12px 18px 16px;position:relative;overflow:hidden auto}.chat-scroll::-webkit-scrollbar{display:none}.composer textarea::-webkit-scrollbar{display:none}.chat{flex-direction:column;gap:14px;display:flex}.msg{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.75}.msg.me{background:var(--ink);color:#fff;border-radius:18px 18px 4px;align-self:flex-end;max-width:88%;padding:10px 14px}.msg.ai{color:var(--ink-2);padding:2px 2px 0}.msg.ai.waiting{color:var(--ink-4)}.task{border-radius:var(--r-md);background:var(--card);padding:12px 14px 14px 18px;position:relative;overflow:hidden}.task:before{content:"";background:var(--wood);width:4px;position:absolute;top:0;bottom:0;left:0}.task .k{letter-spacing:2px;min-height:32px;color:var(--wood);justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.task .pill{letter-spacing:0;min-height:32px;padding:0 16px;font-size:12px}.task .taken{letter-spacing:0;color:var(--ink-3);font-size:12px}.task h3{z-index:1;margin-top:4px;font-size:15px;font-weight:500;line-height:1.5;position:relative}.task .art{opacity:.55;width:124px;bottom:-22px;right:-18px;-webkit-mask-image:linear-gradient(270deg,#000 50%,#0000 100%);mask-image:linear-gradient(270deg,#000 50%,#0000 100%)}.task .k{z-index:1;position:relative}.task.has-art h3{padding-right:76px}.chat .lamp{opacity:.85;pointer-events:none;-webkit-user-select:none;user-select:none;width:132px;margin:6px 0 -4px -8px;display:block}.chat .error{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-foot{padding:8px 0 calc(12px + env(safe-area-inset-bottom));flex:none}.composer{background:var(--card-2);box-shadow:var(--shadow-lift);border-radius:24px;align-items:flex-end;gap:8px;padding:7px 7px 7px 18px;display:flex}.composer textarea{resize:none;scrollbar-width:none;min-width:0;max-height:120px;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:6px 0;font-size:16px;line-height:1.4}.composer textarea::placeholder{color:var(--ink-4)}.composer .send{background:var(--ink);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.composer .send:disabled{opacity:.3}.composer .send svg{stroke:#fff;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.chat-foot .foot-note{margin-top:8px}
