.cloud-modal{z-index:950;width:560px;max-width:calc(100vw - 24px)}.cloud-body{padding:var(--sp-4)}.cloud-stack{-webkit-user-select:text;user-select:text;flex-direction:column;gap:10px;display:flex}.cloud-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cloud-p{color:var(--ink-2);font-size:var(--fs-md);margin:0;line-height:1.5}.cloud-note{color:var(--ink-3);padding:6px var(--sp-3);line-height:1.5}.cloud-note .link-btn{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.cloud-status{color:var(--ink-3);padding:0 var(--sp-2) 0 var(--sp-1);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.cloud-status:before{content:"";background:var(--ink-3);flex:none;width:6px;height:6px}.cloud-status.ok:before{background:var(--snap)}.cloud-status.bad{color:var(--danger)}.cloud-status.bad:before{background:var(--danger)}.cloud-banner{z-index:800;background:var(--panel);border:1px solid var(--danger);color:var(--danger);box-shadow:var(--shadow-1);padding:var(--sp-1) var(--sp-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:calc(100vw - 24px);display:flex;position:fixed;top:44px;left:50%;transform:translate(-50%)}.cloud-banner.offer{border-color:var(--ink);color:var(--ink);top:80px}.proj-modal{width:640px;max-width:calc(100vw - 24px)}.proj-head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);background:var(--paper);display:flex}.proj-head-title{letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-xs);color:var(--ink-3)}.proj-count{border:1px solid var(--ink);font-size:var(--fs-xs);color:var(--ink);margin-left:8px;padding:0 5px}.proj-count.over{border-color:var(--danger);color:var(--danger)}.proj-lock{color:var(--danger)}.proj-acts{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.proj-acts .btn{padding:0 6px}.proj-list li.proj-row{flex-wrap:wrap}.proj-list li.proj-row .proj-open{min-width:180px}.cloud-pick-row{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.proj-note{margin:var(--sp-3);padding:var(--sp-3);border:1px solid var(--ink);background:var(--paper);gap:var(--sp-2);flex-direction:column;display:flex}.proj-note-h{font-size:var(--fs-md);color:var(--ink)}.proj-note-p{color:var(--ink-2);font-size:var(--fs-md);margin:0;line-height:1.5}.proj-note-acts{gap:var(--sp-2);display:flex}.cloud-banner.flash{animation:.65s steps(2,end) cloud-flash}@keyframes cloud-flash{0%,to{background:var(--panel)}25%,75%{background:var(--accent);color:var(--paper)}}.ai-panel{z-index:20;background:var(--panel);border-left:1px solid var(--line);-webkit-user-select:text;user-select:text;flex-direction:column;width:320px;display:flex;position:absolute;top:0;bottom:0;right:0}.ai-panel .section-title{align-items:center}.ai-x{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);width:var(--h-sm);height:var(--h-sm);cursor:pointer;padding:0;line-height:1}.ai-x:hover{border-color:var(--ink-2)}.ai-h{font-size:var(--fs-lg)}.ai-p{color:var(--ink-2);font-size:var(--fs-md);margin:0;line-height:1.5}.ai-empty{color:var(--ink-3);line-height:1.5;font-size:var(--fs-sm);padding:12px}.ai-credits{border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2);padding:6px 12px}.ai-credits-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-credits-note{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--ink);line-height:1.4}.ai-credits b{color:var(--ink);font-weight:400}.ai-credits-bal{align-items:baseline;gap:var(--sp-2);white-space:nowrap;text-overflow:ellipsis;min-width:0;display:flex;overflow:hidden}.ai-credits-k{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.ai-maint{border-bottom:1px solid var(--line);border-left:3px solid var(--ink);background:var(--paper);font-size:var(--fs-sm);color:var(--ink);padding:6px 12px;line-height:1.45}.ai-link{font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}.ai-offer{margin:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);background:var(--paper);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.ai-conv{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px 12px;display:flex;overflow-y:auto}.ai-msg{grid-template-columns:32px 1fr;gap:6px;line-height:1.45;display:grid}.ai-role{font-size:var(--fs-xs);letter-spacing:.1em;color:var(--ink-3);padding-top:1px}.ai-msg.user .ai-text{color:var(--ink-2)}.ai-msg.note .ai-text{color:var(--danger)}.ai-text{white-space:pre-wrap;word-break:break-word}.ai-compose{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 12px 10px;display:flex}.ai-input{resize:none;border:1px solid var(--field);background:var(--paper);width:100%;color:var(--ink);font-family:inherit;font-size:inherit;-webkit-user-select:text;user-select:text;border-radius:0;outline:none;padding:6px}.ai-input:focus{border-color:var(--accent)}.ai-compose-row{justify-content:space-between;align-items:center;display:flex}.ai-disclose{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.4}.ai-count{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.ai-compose-meta{justify-content:space-between;align-items:center;margin-top:-2px;display:flex}.ai-attach{font:inherit;font-size:var(--fs-xs);color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.ai-attach:hover:not(:disabled){color:var(--ink);text-decoration:underline}.ai-attach:disabled{cursor:default;color:var(--line)}.ai-img-error{font-size:var(--fs-xs);color:var(--danger)}.ai-att{color:var(--ink-3)}.ai-progress{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:6px;min-height:0;max-height:55%;padding:8px 12px;display:flex;overflow:hidden}.ai-progress-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-keep-open{font-size:var(--fs-xs);color:var(--ink-3)}.ai-clear{font:inherit;font-size:var(--fs-xs);color:var(--ink-3);cursor:pointer;background:0 0;border:none;margin-left:auto;margin-right:8px;padding:0}.ai-clear:hover:not(:disabled){color:var(--ink);text-decoration:underline}.ai-clear:disabled{cursor:default;color:var(--line)}.ai-strip{z-index:25;pointer-events:none;background:var(--panel);border-bottom:1px solid var(--accent);min-height:26px;font-size:var(--fs-sm);align-items:center;gap:8px;padding:3px 8px;display:flex;position:absolute;top:0;left:0;right:0}.ai-strip.shifted{right:320px}.ai-strip.under-rulers{top:var(--ruler);left:var(--ruler)}.ai-strip .btn{pointer-events:auto;flex:none;margin-left:auto}.ai-strip-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ai-strip-step{color:var(--ink-2)}.ai-strip.flash{animation:.65s steps(2,end) ai-flash}@keyframes ai-flash{0%,to{background:var(--panel)}25%,75%{background:var(--accent);color:var(--paper)}}.ai-strip.flash .ai-strip-step{color:inherit}.ai-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;min-height:0;max-height:180px;margin:0;padding:6px 0;line-height:1.6;list-style:none;overflow-y:auto}.ai-steps li:before{content:"> ";color:var(--accent)}.ai-steps li.dim,.ai-steps li.dim:before{color:var(--ink-3)}.ai-dots:after{content:"";animation:1.2s steps(4,end) infinite ai-dots}@keyframes ai-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.ai-preview{z-index:30;background:var(--panel);border:1px solid var(--accent);max-width:640px;box-shadow:var(--shadow-1);-webkit-user-select:text;user-select:text;flex-direction:column;gap:6px;margin:0 auto;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.ai-preview.shifted{right:332px}.ai-preview-head{align-items:center;gap:8px;display:flex}.ai-tag{color:var(--accent-ink)}.ai-preview-stat{color:var(--ink-3);font-size:var(--fs-sm)}.ai-preview-reply{white-space:pre-wrap;line-height:1.5}.ai-preview-hint{font-size:var(--fs-xs);color:var(--ink-3)}.ai-issues{max-height:120px;font-size:var(--fs-sm);margin:0;padding:0;list-style:none;overflow-y:auto}.ai-issues li{cursor:pointer;border-top:1px solid var(--line);padding:2px 4px}.ai-issues li:hover{background:var(--accent-soft)}.ai-issues .ai-lvl{min-width:34px;font-size:var(--fs-xs);letter-spacing:.06em;display:inline-block}.ai-issues li.error .ai-lvl{color:var(--danger)}.ai-issues li.warn .ai-lvl{color:var(--dim)}.ai-plan{border-bottom:1px solid var(--line);max-height:220px;margin:0;padding:0 0 6px;list-style:none;overflow:auto}.ai-plan li{color:var(--ink-2)}.ai-plan li.cur{color:var(--ink)}.ai-plan li.done{color:var(--ink-3);text-decoration:line-through}.ai-effort{gap:0;margin-right:auto;display:inline-flex}.ai-effort .btn{height:var(--h-sm);font-size:var(--fs-xs);padding:0 6px}.ai-toggle{box-shadow:var(--shadow-1);display:inline-flex}.ai-toggle.on{box-shadow:none}.ai-toggle .btn+.btn{margin-left:-1px}.btn.cta.ai-toggle-credits{border-left-color:var(--cta-ink);font-weight:400}.btn.cta.ai-toggle-credits:hover{text-decoration:underline}.eg-frame{fill:var(--paper);stroke:var(--ink-3);stroke-width:1px}.eg-plan{fill:none;stroke:var(--ink);stroke-width:2px}.eg-plan.thin{stroke-width:1px}.ai-start{padding:var(--sp-3);gap:var(--sp-3);flex-direction:column;display:flex}.ai-photo-card{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--cta);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;display:flex}.ai-photo-card:hover:not(:disabled){box-shadow:var(--shadow-1)}.ai-photo-card:disabled{border-color:var(--line);color:var(--ink-3);cursor:default}.ai-photo-card-text{flex-direction:column;gap:2px;display:flex}.ai-photo-card-cost{font-size:var(--fs-xs);color:var(--accent-ink)}.ai-empty-text{color:var(--ink-3);line-height:1.5;font-size:var(--fs-sm)}.ai-examples{flex-wrap:wrap;gap:6px;display:flex}.ai-example{border:1px solid var(--field);background:var(--paper);color:var(--ink);padding:var(--sp-1) var(--sp-2);cursor:pointer;text-align:left}.ai-example:hover{border-color:var(--ink)}.ai-modal{width:860px;max-width:calc(100vw - 24px)}.ai-body{padding:var(--sp-4);gap:var(--sp-4);-webkit-user-select:text;user-select:text;flex-direction:column;display:flex}.photo-grid{gap:var(--sp-4);flex-wrap:wrap;display:flex}.photo-main{gap:var(--sp-2);flex-direction:column;flex:360px;min-width:0;display:flex}.photo-side{gap:var(--sp-3);flex-direction:column;flex:260px;min-width:0;display:flex}.photo-view{border:1px solid var(--field);background:var(--paper);place-items:center;height:290px;display:grid;position:relative;overflow:hidden}.photo-view img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.photo-tag{left:var(--sp-2);bottom:var(--sp-2);text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 16px);font-size:var(--fs-xs);color:var(--ink-2);background:var(--panel);border:1px solid var(--line);padding:2px 6px;position:absolute;overflow:hidden}.photo-x{top:var(--sp-2);right:var(--sp-2);border:1px solid var(--field);background:var(--panel);color:var(--ink);cursor:pointer;padding:2px 6px;position:absolute}.photo-drop{border:1px dashed var(--ink-3);background:var(--paper);height:290px;color:var(--ink-2);justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;flex-direction:column;display:flex}.photo-drop:hover{border-color:var(--ink);color:var(--ink)}.photo-drop-h{font-size:var(--fs-md);color:var(--ink)}.photo-second{align-items:center;gap:var(--sp-2);border:1px solid var(--line);background:var(--paper);padding:var(--sp-1);font-size:var(--fs-xs);color:var(--ink-2);padding-right:36px;display:flex;position:relative}.photo-second img{object-fit:cover;width:56px;height:42px;display:block}.photo-second .photo-x{top:50%;right:var(--sp-1);transform:translateY(-50%)}.photo-more{border:1px dashed var(--field);color:var(--ink-2);padding:var(--sp-2);cursor:pointer;background:0 0}.photo-more:hover{border-color:var(--ink);color:var(--ink)}.photo-h{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.photo-egs{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.photo-eg{gap:var(--sp-1);font-size:var(--fs-xs);color:var(--ink);flex-direction:column;margin:0;display:flex}.photo-eg svg{width:100%;height:auto;display:block}.photo-eg.bad figcaption{color:var(--danger)}.photo-eg.bad .eg-frame{stroke:var(--danger)}.photo-note{gap:var(--sp-1);color:var(--ink-2);flex-direction:column;display:flex}.ai-taken-modal{width:540px;max-width:calc(100vw - 24px)}.ai-taken-body{padding:var(--sp-4);gap:var(--sp-4);flex-direction:column;display:flex}.photo-taken{gap:var(--sp-4);align-items:flex-start;display:flex}.photo-taken svg{flex:none}.photo-taken-h{font-size:var(--fs-md);color:var(--ink);margin-bottom:var(--sp-2)}.photo-foot{justify-content:space-between;align-items:center;gap:var(--sp-2);border-top:1px solid var(--line);padding-top:var(--sp-3);flex-wrap:wrap;display:flex}.photo-bal{color:var(--ink-2)}.photo-actions{gap:var(--sp-2);display:flex}.photo-actions .btn{height:var(--h-lg)}.start-card{z-index:15;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-5);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0;container-type:inline-size}.start-card.shifted{right:320px}.start-float{align-items:center;gap:var(--sp-3);pointer-events:none;will-change:transform;flex-direction:column;width:100%;max-width:600px;display:flex}.start-box{pointer-events:auto;background:var(--panel);border:1px solid var(--ink);width:100%;box-shadow:var(--shadow-1)}.start-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);display:flex}.start-title{font-size:var(--fs-lg)}.start-body{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.start-photo{border:1px solid var(--cta);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;flex-wrap:wrap;padding:0;display:flex}.start-photo:hover{box-shadow:var(--shadow-1)}.start-art{border-right:1px dashed var(--field);flex:0 0 160px;place-items:center;min-height:120px;display:grid}.start-text{padding:var(--sp-3) var(--sp-4);flex-direction:column;flex:240px;gap:6px;display:flex}.start-tag{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--ink-2)}.start-tag.cta{color:var(--accent-ink)}.start-name{font-size:var(--fs-lg)}.start-desc{color:var(--ink-2);font-size:var(--fs-md);line-height:1.5}.start-go{color:var(--accent-ink);font-weight:600}.start-row{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.start-opt{gap:var(--sp-1);padding:var(--sp-3);border:1px solid var(--field);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;flex-direction:column;display:flex}.start-opt:hover{border-color:var(--ink)}.start-opt-name{font-size:var(--fs-md)}.start-hint{font-size:var(--fs-xs);color:var(--ink-3)}.start-tip{pointer-events:auto;font-size:var(--fs-xs);color:var(--ink-3);background:var(--paper);padding:2px var(--sp-2)}@container (width<=520px){.start-art,.start-desc{display:none}.start-body{padding:var(--sp-3)}}@container (width<=300px){.start-box,.start-tip{display:none}}.acc-btn{text-overflow:ellipsis;max-width:260px;overflow:hidden}.acc-modal{width:560px;max-width:calc(100vw - 24px)}.acc-body{padding:var(--sp-4)}.acc-stack{-webkit-user-select:text;user-select:text;flex-direction:column;gap:10px;display:flex}.acc-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.acc-h{font-size:var(--fs-lg)}.acc-p{color:var(--ink-2);font-size:var(--fs-md);margin:0;line-height:1.5}.acc-label{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.acc-input{height:var(--h-lg)}.acc-captcha{min-height:65px}.acc-note{font-size:var(--fs-sm);color:var(--ink-3);line-height:1.5}.acc-error{font-size:var(--fs-sm);color:var(--danger);border:1px solid var(--danger);padding:6px 8px}.acc-link{color:var(--dim);text-decoration:underline}a.btn{color:inherit;text-decoration:none}.acc-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.acc-modal.wide{width:820px}.acc-card{border:1px solid var(--line);background:var(--paper);flex-direction:column;gap:10px;padding:12px;display:flex}.acc-card.current{border-color:var(--ink)}.acc-card.chosen{border-color:var(--accent)}.acc-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.acc-card-name{font-size:var(--fs-lg);letter-spacing:.12em;text-transform:uppercase}.acc-tag{color:var(--ink)}.acc-price{font-size:var(--fs-xl)}.acc-per{font-size:var(--fs-sm);color:var(--ink-3)}.acc-feat{color:var(--ink-2);font-size:var(--fs-sm);flex:1;margin:0;padding:0;line-height:1.7;list-style:none}.acc-feat li:before{content:"+ ";color:var(--ink-3)}.acc-feat li.acc-eq{color:var(--ink-3);padding-left:2ch}.acc-feat li.acc-eq:before{content:none}@media (width<=720px){.acc-cards{grid-template-columns:1fr}}.acc-buy{border:1px solid var(--ink);flex-direction:column;align-items:flex-start;gap:10px;padding:12px;display:flex}.acc-check{gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink);cursor:pointer;align-items:flex-start;line-height:1.5;display:flex}.acc-check input{flex:none;margin-top:3px}.acc-menu{z-index:1000;min-width:220px}.acc-menu-info{text-overflow:ellipsis;padding:5px 12px;overflow:hidden}.acc-menu-buy{font-weight:600}.acc-menu-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:2px}.acc-menu-legal a{color:inherit}.acc-menu-link{color:inherit;text-decoration:none;display:block}.acc-sales{font-size:var(--fs-sm);color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent);padding:6px 8px;line-height:1.5}.acc-menu-legal a:hover{color:var(--ink)}.toast-host{z-index:1100;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;bottom:36px;right:12px}.toast{background:var(--panel);border:1px solid var(--ink);box-shadow:var(--shadow-1);cursor:pointer;max-width:360px;padding:6px 12px}.toast.error{border-color:var(--danger);color:var(--danger)}.closing-banner{z-index:850;background:var(--panel);border:1px solid var(--accent);max-width:min(560px,100vw - 24px);box-shadow:var(--shadow-1);font-size:var(--fs-sm);flex-direction:column;gap:6px;padding:8px 12px;line-height:1.5;display:flex;position:fixed;bottom:36px;left:12px}.closing-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}
