:root{font-family:Nunito,Noto Sans JP,Helvetica Neue,Arial,sans-serif;color:#2a2440;background:#f6f3fb;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #2a2440;--muted: #7a7394;--soft: #a89fbd;--line: #e4dff0;--paper: #ffffff;--red: #8b7cf7;--red-dark: #6f5ee8;--red-wash: #f3f0ff;--lavender-deep: #4a3f78;--radius-xs: 14px;--radius-sm: 18px;--radius-md: 28px;--radius-lg: 36px;--radius-pill: 999px;--sidebar-width: 72px;--ui-font: "Nunito", "Noto Sans JP", sans-serif;--ui-weight: 500;--ui-tracking: .01em}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 10%,rgba(139,124,247,.16),transparent 32%),radial-gradient(circle at 88% 18%,rgba(186,168,255,.12),transparent 28%),radial-gradient(circle at 50% 100%,rgba(232,224,255,.45),transparent 40%),#f6f3fb}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,.cm-editor.cm-focused{outline:2px solid rgba(139,124,247,.65)!important;outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-body{display:flex;flex:1;min-height:0;min-width:0}.sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;align-items:center;gap:12px;flex:0 0 var(--sidebar-width);width:var(--sidebar-width);height:100vh;padding:16px 8px 12px;border-right:1px solid var(--line);background:#fbf9ffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar nav{display:flex;flex-direction:column;gap:6px;width:100%}.sidebar nav a,.sidebar-auth-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:58px;padding:8px 4px;border:0;border-radius:14px;color:var(--muted);background:transparent;font-family:var(--ui-font);font-size:10px;font-weight:var(--ui-weight);letter-spacing:.02em;line-height:1.1;text-align:center;text-decoration:none;cursor:pointer;transition:color .16s ease,background .16s ease}.sidebar nav a:hover,.sidebar nav a.is-active,.sidebar-auth-button:hover,.sidebar-auth-button.is-active{color:var(--lavender-deep);background:var(--red-wash)}.sidebar nav a svg,.sidebar-auth-button svg{flex-shrink:0}.sidebar-auth{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:auto}.brand{display:flex;align-items:center;gap:10px;width:fit-content}.brand-home{display:flex;align-items:center;justify-content:center;width:fit-content;padding:2px;border:0;color:inherit;background:transparent;text-decoration:none;cursor:pointer;transition:transform .18s ease}.brand-home:hover{transform:translateY(-1px) scale(1.04)}.brand__mark{width:40px;height:40px;display:block;border-radius:10px;box-shadow:0 4px 12px #4a3f782e}.brand__name{font-family:var(--ui-font);font-size:20px;font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);line-height:1.05;white-space:nowrap}.brand__name span{color:var(--red);font-weight:var(--ui-weight)}.profile-loader{color:var(--soft)}.app-body>main{flex:1;min-width:0;width:min(1480px,calc(100% - clamp(32px,8vw,128px)));margin:0 auto;padding:0 clamp(16px,3vw,48px)}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,44%);align-items:start;gap:clamp(28px,4vw,64px);padding:clamp(44px,5.5vh,72px) 0 30px}.intro__heading{min-width:0;width:max-content;max-width:100%}.intro h1{margin:0;font-family:var(--ui-font);font-size:clamp(42px,5.2vw,78px);font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);line-height:1.03;white-space:nowrap}.intro h1 span{color:var(--red);font-weight:var(--ui-weight)}.provider-summary{padding:18px 20px 20px;border:1px solid #e4dff0;border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 12px 34px #4a3f780f}.provider-summary__selects{display:grid;gap:8px}.provider-summary__select{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:35px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);color:#555;background:#fff;font-family:Nunito,sans-serif;font-size:10px}.provider-summary__select-value{overflow:hidden;color:var(--ink);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.provider-summary__select-value.is-placeholder{color:var(--muted);font-weight:400}.provider-summary__select:focus-within{outline:2px solid rgba(139,124,247,.65);outline-offset:2px}.provider-summary__select>svg:first-of-type{color:var(--red)}.provider-summary__select>svg:last-of-type{color:var(--soft)}.provider-summary__select.is-open{z-index:5}.provider-summary__select select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;opacity:0;cursor:pointer}.provider-summary__menu{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:2;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:0 12px 28px #4a3f781f}.provider-summary__menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);color:var(--ink);background:transparent;font-family:Nunito,Noto Sans JP,sans-serif;font-size:11px;text-align:left;cursor:pointer}.provider-summary__menu-hint{color:var(--muted);font-size:9px;font-weight:400;white-space:nowrap}.provider-summary__menu button:hover,.provider-summary__menu button.is-selected{background:#f3f0ff}.provider-summary__menu button:disabled{color:var(--muted);cursor:default}.provider-summary>p{margin:13px 0 0;color:var(--muted);font-family:Nunito,sans-serif;font-size:12px;font-weight:400;line-height:1.7}.provider-summary>p strong{color:var(--ink);font-weight:500}.provider-summary__facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.provider-summary__facts>span,.loading-status__facts>span{padding:4px 9px;border:1px solid var(--line);border-radius:var(--radius-pill);color:#6d6d6d;background:#f7f4ff;font-size:9px;line-height:1.4;overflow-wrap:anywhere}.inference-parameters{display:grid;grid-template-columns:minmax(132px,.4fr) minmax(0,1fr);align-items:end;gap:10px 12px;margin:17px 0 0;padding:15px 0 0;border:0}.inference-parameters label,.inference-parameters .parameter-field{display:grid;gap:5px;color:var(--muted);font-size:9px}.temperature-slider{--temperature-progress: 0%;min-width:0;gap:5px}.temperature-slider__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.parameter-help{position:relative;width:fit-content;border-bottom:1px dotted currentColor;cursor:help}.parameter-help__tip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:8;width:max-content;max-width:min(240px,70vw);padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;box-shadow:0 10px 24px #4a3f781f;font-size:11px;font-weight:400;line-height:1.45;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease,visibility .14s}.parameter-help:hover .parameter-help__tip,.parameter-help:focus-within .parameter-help__tip,.parameter-field:hover .parameter-help__tip,.parameter-field:focus-within .parameter-help__tip,.temperature-slider:hover .parameter-help__tip,.temperature-slider:focus-within .parameter-help__tip{opacity:1;visibility:visible;transform:none}.provider-summary__fact.parameter-help{border-bottom:0}.provider-summary__fact.parameter-help:focus{outline:2px solid var(--red);outline-offset:1px}.temperature-slider__value{min-width:2.4em;padding:1px 8px;border-radius:var(--radius-pill);color:var(--red);background:var(--red-wash);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;line-height:1.5}.temperature-slider__control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;height:30px}.temperature-slider__bound{color:var(--soft);font-size:9px;font-variant-numeric:tabular-nums;line-height:1}.temperature-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;accent-color:var(--red)}.temperature-slider input[type=range]::-webkit-slider-runnable-track{height:5px;border:0;border-radius:var(--radius-pill);background:linear-gradient(to right,#c4b8ff 0%,var(--red) var(--temperature-progress),#e8e2f6 var(--temperature-progress),#e8e2f6 100%)}.temperature-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5.5px;border:2px solid var(--red);border-radius:50%;background:radial-gradient(circle at 35% 32%,#fff 0 3px,transparent 3.5px),#f7f4ff;box-shadow:0 1px 5px #8b7cf747,inset 0 -2px 3px #8b7cf724;cursor:grab;transition:transform .12s ease}.temperature-slider input[type=range]::-moz-range-track{height:5px;border:0;border-radius:var(--radius-pill);background:#e8e2f6}.temperature-slider input[type=range]::-moz-range-progress{height:5px;border:0;border-radius:var(--radius-pill);background:linear-gradient(to right,#c4b8ff,var(--red))}.temperature-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--red);border-radius:50%;background:#f7f4ff;box-shadow:0 1px 5px #8b7cf747,inset 0 -2px 3px #8b7cf724;cursor:grab}.temperature-slider input[type=range]:hover::-webkit-slider-thumb,.temperature-slider input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.temperature-slider input[type=range]:active::-webkit-slider-thumb,.temperature-slider input[type=range]:active::-moz-range-thumb{cursor:grabbing}.temperature-slider input[type=range]:focus{outline:none}.temperature-slider input[type=range]:focus-visible{outline:2px solid rgba(139,124,247,.65);outline-offset:3px}.parameter-select{position:relative;display:flex;height:30px;align-items:center;justify-content:space-between;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);background:#fff;font-size:11px}.parameter-select:before{content:attr(data-value)}.parameter-select:focus-within{outline:2px solid rgba(139,124,247,.65);outline-offset:1px}.parameter-select select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;opacity:0;cursor:pointer}.parameter-select>svg{margin-left:auto;color:var(--soft)}.inference-parameters:disabled{opacity:.6}.workspace{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(420px,.93fr);min-height:604px;overflow:hidden;border:1px solid #e4dff0;border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 22px 60px #4a3f7814}.panel{min-width:0}.editor-panel{display:grid;grid-template-rows:minmax(52px,auto) minmax(0,1fr) 36px;border-right:1px solid var(--line)}.result-panel{display:grid;grid-template-rows:52px minmax(0,1fr);background:#fbf9ff}.panel__header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;border-bottom:1px solid var(--line);background:#ffffffc7}.panel__title{display:flex;align-items:center;flex-shrink:0;gap:8px;font-family:var(--ui-font);font-size:13px;font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);white-space:nowrap}.panel__title svg{color:var(--red)}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.workspace:has(.language-select.is-open){overflow:visible}.language-select{position:relative;display:flex;height:33px;align-items:center;gap:7px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);background:#fff;cursor:pointer}.language-select:hover{border-color:#d4cceb}.language-select:focus-within{outline:2px solid rgba(139,124,247,.65);outline-offset:2px}.language-select.is-open{z-index:6;border-color:#d4cceb}.language-select select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.language-select__pip{display:none}.language-select__value{color:inherit;font-family:var(--ui-font);font-size:13px;font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);line-height:1.1;white-space:nowrap}.language-select>svg:last-of-type{color:var(--soft);transition:transform .16s ease}.language-select.is-open>svg:last-of-type{transform:rotate(180deg)}.language-select__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:2;min-width:max(100%,188px);margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:0 12px 28px #4a3f781f}.language-select__menu button{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);color:var(--ink);background:transparent;font-family:var(--ui-font);font-size:13px;text-align:left;cursor:pointer}.language-select__option-label{min-width:0;font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);line-height:1.2}.language-select__extension{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:500}.language-select__check{color:var(--red);justify-self:end}.language-select__menu button:hover,.language-select__menu button.is-selected{background:#f3f0ff}.editor-action-button{display:inline-flex;height:33px;align-items:center;gap:7px;padding:0 14px;border:0;border-radius:var(--radius-pill);color:#fff;background:var(--red);font-family:var(--ui-font);font-size:13px;font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);line-height:1.1;white-space:nowrap;cursor:pointer;transition:background .16s ease}.editor-action-button:hover:not(:disabled){background:var(--red-dark)}.editor-action-button.is-active{background:var(--red-dark)}.editor-action-button:disabled{cursor:not-allowed;opacity:.45}.editor-wrap{min-height:0;overflow:hidden;background:#fbf9ff}.editor-wrap .cm-theme,.editor-wrap .cm-editor,.editor-wrap .cm-scroller{height:100%}.editor-wrap .cm-editor{background:#fbf9ff}.editor-wrap .cm-scroller{padding:14px 0;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.7}.editor-wrap .cm-gutters{border:0;color:#b8b8b3;background:#fbf9ff}.editor-wrap .cm-lineNumbers .cm-gutterElement{min-width:39px;padding:0 13px 0 7px}.editor-wrap .cm-activeLine,.editor-wrap .cm-activeLineGutter{background:#efeaff}.editor-wrap .cm-content{caret-color:var(--red)}.editor-wrap .cm-selectionBackground{background:#ddd4ff!important}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 19px;border-top:1px solid var(--line);color:var(--soft);background:#fff;font-size:10px}.run-button{display:flex;height:40px;align-items:center;gap:8px;padding:0 16px;border:0;border-radius:var(--radius-pill);color:#fff;background:var(--red);box-shadow:0 4px 13px #8b7cf738;font-family:var(--ui-font);font-size:13px;font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);line-height:1.1;white-space:nowrap;cursor:pointer;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.run-button:hover:not(:disabled){background:var(--red-dark);box-shadow:0 6px 18px #8b7cf747;transform:translateY(-1px)}.run-button:disabled{cursor:not-allowed;opacity:.58}.editor-actions .run-button{height:33px;padding:0 12px 0 11px;box-shadow:none}.editor-actions .run-button:hover:not(:disabled){box-shadow:none;transform:none}.result-panel .status-badge{position:absolute;top:50%;left:50%;display:flex;align-items:center;gap:5px;color:#5d7d5d;font-size:9px;white-space:nowrap;pointer-events:none;transform:translate(-50%,-50%)}.result-panel .status-badge.is-generating{color:var(--red)}.result-panel__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.result-panel__content{min-height:0;overflow:auto}.result-panel__content.is-streaming{overflow:hidden}.empty-state,.reviewing-state{display:flex;height:100%;min-height:400px;align-items:center;justify-content:center;flex-direction:column;padding:48px;text-align:center}.empty-state{justify-content:flex-start;min-height:0;padding:96px 28px 28px}.empty-state__icon{position:relative;display:grid;width:62px;height:62px;place-items:center;margin-bottom:22px;border:1px solid #e4dff0;border-radius:50%;color:var(--red);background:#fff}.empty-state__icon:before,.empty-state__icon:after{position:absolute;width:4px;height:4px;border:1px solid #ddd6ef;border-radius:50%;content:""}.empty-state__icon:before{top:1px;right:-13px}.empty-state__icon:after{bottom:5px;left:-15px}.empty-state h2,.reviewing-state h2{margin:0 0 9px;font-family:Nunito,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.02em}.reviewing-state h2{font-size:20px}.empty-state p,.reviewing-state p{max-width:340px;margin:0;color:#92928f;font-size:11px;line-height:1.7}.model-progress{width:min(280px,75%);height:6px;margin-top:18px;overflow:hidden;border-radius:var(--radius-pill);background:#e4dff0}.model-progress span{display:block;height:100%;background:var(--red);transition:width .18s ease}.reviewing-state.has-stream{justify-content:flex-start;align-items:stretch;min-height:0;padding:20px 18px 16px;overflow:hidden}.reviewing-state.has-stream .scan-mark{width:88px;height:88px;margin:0 auto 10px;flex-shrink:0}.reviewing-state.has-stream .scan-mark__core{width:62px;height:62px}.reviewing-state.has-stream .scan-mark__stars{width:36px;height:28px}.reviewing-state.has-stream .scan-mark__ring,.reviewing-state.has-stream .scan-mark__dot{display:none}.reviewing-state.has-status{justify-content:flex-start;padding:28px 22px 20px;overflow:auto}.reviewing-state.has-status .scan-mark{width:108px;height:108px;margin:0 auto 12px;flex-shrink:0}.reviewing-state.has-status .scan-mark__core{width:76px;height:76px}.reviewing-state.has-status .scan-mark__stars{width:44px;height:34px}.reviewing-state.has-status h2{font-size:18px}.reviewing-state.has-status .model-progress{width:min(440px,100%);margin-top:14px;margin-bottom:4px}.loading-status{width:min(440px,100%);margin-top:16px;text-align:left}.reviewing-state.has-status .loading-status .model-progress{width:100%;margin:0 0 12px}.loading-status__meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;color:#6d6d6d;font-size:11px}.loading-status__meta strong{color:#2a2a2a;font-size:20px;font-weight:600;letter-spacing:-.03em}.loading-status__hint{max-width:none!important;margin:0 0 10px!important;color:#8a8a87!important;font-size:11px!important;line-height:1.55!important}.loading-status__facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.reviewing-state.has-stream h2{flex-shrink:0;align-self:center;margin-bottom:8px;font-size:16px}.reviewing-state.has-stream>p{flex-shrink:0;align-self:center;margin-bottom:10px}.stream-preview{flex:1 1 auto;width:100%;min-height:140px;margin-top:4px;overflow:auto;overscroll-behavior:contain;padding:12px 14px;border:1px solid #e4dff0;border-radius:var(--radius-md);background:#f7f4ff;color:#4a4a47;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.55;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-gutter:stable}.review-error-state .empty-state__icon{color:var(--red);background:var(--red-wash)}.review-error-state p{color:#6a4fcf}.interrupted-review{display:flex;flex-direction:column;gap:16px;min-height:0;height:100%;padding:20px 18px 18px}.interrupted-review.has-stream{overflow:hidden}.interrupted-review.has-partial{overflow:auto}.interrupted-review__banner{display:grid;gap:8px;justify-items:start;text-align:left}.interrupted-review__banner h2{margin:0;font-family:Nunito,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.02em}.interrupted-review__banner p{max-width:42rem;margin:0;color:#92928f;font-size:11px;line-height:1.7}.interrupted-review__banner .run-button{margin-top:4px}.webgpu-help-state{align-items:center;padding-top:36px;text-align:center;overflow:auto}.webgpu-help-state .empty-state__icon{margin-bottom:16px}.webgpu-help-state h2,.webgpu-help-state>p{max-width:42rem;text-align:center}.webgpu-help-state>p{padding-bottom:20px}.webgpu-help-state__steps{max-width:42rem;width:100%;margin:16px 0 0;padding-left:1.2rem;color:#4a4a47;font-size:12px;line-height:1.65;text-align:left}.webgpu-help-state__steps li+li{margin-top:10px}.scan-mark{position:relative;display:grid;width:168px;height:168px;place-items:center;margin:0 0 28px}.scan-mark__core{position:relative;z-index:1;display:grid;width:118px;height:118px;place-items:center;overflow:hidden;border:1px solid #ddd4ff;border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff,#f7f4ff 68%,#ebe4ff);box-shadow:0 10px 28px #8b7cf71a,inset 0 0 0 6px #ffffffb3;animation:star-bob 2.4s ease-in-out infinite}.scan-mark__stars{position:relative;z-index:1;width:68px;height:52px;overflow:visible}.scan-mark__star{transform-origin:center;transform-box:fill-box}.scan-mark__star--lg{animation:star-twinkle 2.4s ease-in-out infinite}.scan-mark__star--md{animation:star-twinkle 2.4s ease-in-out infinite .4s}.scan-mark__star--sm{animation:star-twinkle 2.4s ease-in-out infinite .9s}.scan-mark__glow{position:absolute;top:-30%;right:-8%;bottom:-30%;left:-8%;background:linear-gradient(180deg,transparent 18%,rgba(186,168,255,.2) 42%,rgba(255,255,255,.72) 50%,rgba(168,148,255,.24) 58%,transparent 82%);filter:blur(7px);pointer-events:none;animation:scan-glow 2.6s ease-in-out infinite}.scan-mark__ring{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(139,124,247,.22);border-radius:50%;animation:scan-pulse 2.6s ease-out infinite}.scan-mark__ring:nth-of-type(2){top:0;right:0;bottom:0;left:0;animation-delay:1.3s}.scan-mark__dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#c4b8ff;animation:scan-float 2.8s ease-in-out infinite}.scan-mark__dot:nth-of-type(3){top:18px;right:22px}.scan-mark__dot:nth-of-type(4){bottom:22px;left:18px;width:5px;height:5px;animation-delay:.7s}.scan-mark__dot:nth-of-type(5){top:46px;left:8px;width:4px;height:4px;animation-delay:1.4s}.results{min-width:0;padding:21px;overflow-wrap:anywhere}.results.is-partial .eyebrow{color:var(--red)}.generating-placeholder{margin:0;padding:4px 0 12px;color:#8a8a87;font-size:11px;line-height:1.55}.translation-card{padding:17px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.translation-card .eyebrow{color:var(--red)}.translation-card__copy{min-width:0}.translation-card h2{margin:3px 0 5px;font-family:Nunito,sans-serif;font-size:16px;font-weight:500}.translation-card p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.55}.translation-card__japanese{color:#2a2a2a!important;font-size:15px!important;line-height:1.7!important;white-space:pre-wrap}.review-lesson{padding-bottom:16px;border-bottom:1px solid var(--line)}.review-lesson .section-heading{padding-bottom:7px}.review-lesson__body{padding:11px 14px;border-left:3px solid var(--red);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:#666;background:#f3f0ff;font-size:9px;line-height:1.65}.review-lesson__body>p{margin:0}.review-lesson__body>p+p{margin-top:.9em}.eyebrow{color:var(--red);font-family:Nunito,sans-serif;font-size:8px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 1px 10px}.section-heading h2{margin:0;font-family:Nunito,sans-serif;font-size:11px;font-weight:500}.section-heading>span{color:var(--soft);font-size:8.5px}.history-library{min-width:0}.history-error{margin-bottom:16px;padding:12px 14px;border:1px solid #d8d0f5;border-radius:var(--radius-sm);color:#6a4fcf;background:var(--red-wash);font-size:10px}.history-empty{display:grid;min-height:360px;place-items:center;align-content:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--soft);background:#fff;text-align:center}.history-empty h2,.history-empty p{margin:0}.history-empty h2{color:var(--ink);font-family:Nunito,sans-serif;font-size:16px;font-weight:500}.history-empty p{font-size:10px}.history-list{display:grid;gap:18px}.history-group{display:grid;gap:9px}.history-group__title{margin:0 0 2px;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.history-card{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.history-card:hover{border-color:#c9c0e4;box-shadow:0 8px 25px #4a3f7812}.history-card.is-starred{border-color:#ead9a8;background:#fffdf6}.history-card.is-starred:hover{border-color:#ddc57d}.history-card__open{display:grid;width:100%;min-width:0;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;padding:17px 12px 17px 17px;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.history-card__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:var(--red);background:var(--red-wash)}.history-card__icon.is-favorite{color:var(--red);background:var(--red-wash)}.history-card__body{min-width:0}.history-card__translation{margin:8px 0 0;color:#2a2a2a;font-size:12px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history-card__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 12px;margin-bottom:8px;color:var(--ink);font-size:11px}.history-card__meta span{color:var(--ink);font-family:Nunito,Noto Sans JP,sans-serif;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.history-card__meta time{color:var(--muted);font-family:Nunito,Noto Sans JP,sans-serif;font-size:11px;font-weight:600}.history-card__params{display:flex;flex-wrap:wrap;gap:5px;margin:0}.history-card__params span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid var(--line);border-radius:var(--radius-pill);color:#6d6d6d;background:#f7f4ff;font-size:8px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.history-card__actions{display:flex;flex-shrink:0;flex-direction:column;justify-content:center;gap:2px;padding:10px 10px 10px 0}.history-card__star,.history-card__delete{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:var(--radius-pill);color:#aaa;background:transparent;cursor:pointer}.history-card__star:hover,.history-card__star.is-active{color:#c4a035;background:#fff6d8}.history-card__delete:hover{color:var(--red);background:var(--red-wash)}.auth-view{display:grid;min-height:650px;place-items:center;padding:54px 0}.auth-card{width:min(430px,100%);padding:38px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:0 22px 60px #4a3f7814}.auth-card h1{margin:7px 0;font-family:Nunito,sans-serif;font-size:31px;font-weight:400;letter-spacing:-.045em}.auth-card>p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.auth-card form{display:grid;gap:15px;margin-top:27px}.auth-card label{display:grid;gap:7px;color:#555;font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.auth-card input{width:100%;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);background:#fbf9ff;font:inherit}.auth-card input:focus{border-color:#aaa;outline:2px solid rgba(139,124,247,.18)}.auth-submit{height:40px;justify-content:center;margin-top:5px;margin-bottom:20px}.auth-error{padding:10px 12px;border:1px solid #d8d0f5;border-radius:var(--radius-sm);color:#6a4fcf;background:var(--red-wash);font-size:9px;line-height:1.5}.password-field{position:relative;display:block}.password-field input{padding-right:42px}.password-toggle{position:absolute;top:0;right:0;display:grid;width:40px;height:40px;place-items:center;border:0;color:#666;background:transparent;cursor:pointer}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--ink)}.auth-notice{padding:10px 12px;border:1px solid #cfe3cf;border-radius:var(--radius-sm);color:#215c32;background:#f3f8f3;font-size:9px;line-height:1.5}.auth-switch{display:block;margin:20px auto 0;padding:0;border:0;color:var(--muted);background:transparent;font-size:10px;cursor:pointer;text-align:center;text-decoration:none}.auth-switch:hover{color:var(--ink)}.auth-switch-create{color:var(--red);font-family:Nunito,Noto Sans JP,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px}.auth-switch-create:hover{color:var(--red-dark)}.account-view{display:grid;min-height:650px;place-items:center;padding:54px 0}.account-card{width:min(560px,100%);padding:38px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:0 22px 60px #4a3f7814}.account-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.account-heading h1{margin:7px 0;min-width:0;font-family:Nunito,sans-serif;font-size:31px;font-weight:400;letter-spacing:-.045em}.account-export-button{flex-shrink:0;height:33px;padding:0 12px 0 11px;box-shadow:none}.account-export-button:hover:not(:disabled){box-shadow:none}.account-card>p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.account-card>.account-email{color:var(--ink);font-size:16px;font-weight:700;line-height:1.4}.account-delete{display:grid;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.account-delete h2{margin:0;font-size:14px;font-weight:600}.account-delete p,.account-retention{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.account-delete p{padding-bottom:12px}.account-delete label{display:grid;gap:7px;color:#555;font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.account-delete input{width:100%;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);background:#fbf9ff;font:inherit}.account-delete-button{justify-content:center;background:var(--red)}.account-retention{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:28px;padding-top:20px;text-align:center}.dashboard-view{min-height:650px;padding:clamp(54px,7vh,92px) 0}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}.dashboard-heading h1{margin:0;color:var(--red);font-family:Nunito,sans-serif;font-size:clamp(34px,4vw,52px);font-weight:400;letter-spacing:-.05em}.dashboard-account{color:var(--red);font-family:Nunito,Noto Sans JP,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px}.dashboard-account:hover{color:var(--red-dark)}.docs-wiki{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;gap:36px;min-height:650px;padding:clamp(40px,6vh,72px) 0 48px}.docs-summary{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding-right:8px}.docs-summary h1{margin:0 0 14px;color:var(--red);font-family:Nunito,sans-serif;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.docs-summary ol{margin:0;padding:0;list-style:none}.docs-pages{display:grid;gap:7px}.docs-pages a{color:var(--ink);font-family:Nunito,sans-serif;font-size:13px;font-weight:500}.docs-pages a.is-ancestor{color:var(--ink)}.docs-pages-children{display:grid;gap:5px;margin:5px 0 2px;padding-left:14px}.docs-pages-children a{font-size:12px;color:#666}.docs-summary a{text-decoration:none}.docs-summary a:hover,.docs-summary a.is-active{color:var(--red)}.docs-article{min-width:0;padding:36px 40px 42px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.docs-article h1,.docs-article h2,.docs-article h3{scroll-margin-top:16px;font-family:Nunito,sans-serif;font-weight:500;letter-spacing:-.03em}.docs-article h1{margin:0 0 16px;font-size:clamp(28px,3.4vw,40px);font-weight:400;letter-spacing:-.045em}.docs-article h2{margin:32px 0 12px;padding-top:18px;border-top:1px solid var(--line);font-size:20px}.docs-article h3{margin:22px 0 10px;font-size:15px}.docs-article p,.docs-article li{color:#4a4a4a;font-size:14px;line-height:1.7}.docs-article img{display:block;max-width:min(100%,650px);height:auto;margin:1.1rem auto .35rem}.docs-article p:has(>img){text-align:center}.docs-article p:has(>img)+p:has(>em:only-child){margin:0 0 1.1rem;text-align:center}.docs-article p:has(>img)+p>em:only-child{color:var(--ink);font-size:.78em;font-style:normal;font-weight:650;line-height:1.45}.docs-article p{margin:0 0 14px}.docs-article blockquote{margin:0 0 18px;padding:14px 16px 14px 18px;border-left:4px solid var(--red);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--red-wash);color:#4a4a4a;font-size:14px;font-style:italic;line-height:1.7}.docs-article blockquote:has(>p>strong:first-child){font-style:normal}.docs-article blockquote p{margin:0;color:inherit}.docs-article blockquote strong:first-child{display:block;margin-bottom:4px;color:var(--red);font-family:Nunito,sans-serif;font-size:11px;font-style:normal;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.docs-article ul,.docs-article ol{margin:0 0 16px;padding-left:22px}.docs-article li+li{margin-top:6px}.docs-article a{color:var(--red);font-weight:700;text-decoration:none}.docs-article a:hover{text-decoration:underline}.docs-article abbr{text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);text-underline-offset:2px;cursor:help}.docs-article code{padding:1px 5px;border-radius:var(--radius-xs);color:#333;background:#efeaff;font-size:12.5px}.docs-article pre{overflow:auto;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbf9ff}.docs-article pre code{padding:0;background:transparent;font-size:12px;line-height:1.55}.docs-article table{width:100%;margin:0 0 18px;border-collapse:collapse;font-size:13px;line-height:1.55}.docs-article th,.docs-article td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.docs-article th{background:#f3f0ff;color:#2a2a2a;font-weight:600}.docs-article td{color:#4a4a4a}.docs-article tr:nth-child(2n) td{background:#fbf9ff}.docs-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}.docs-pager-link{display:grid;gap:4px;min-width:0;color:inherit;text-decoration:none}.docs-article .docs-pager-link:hover{text-decoration:none}.docs-pager-link.is-empty{pointer-events:none}.docs-pager-next{text-align:right;justify-items:end}.docs-pager-label{color:#888;font-family:Nunito,sans-serif;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.docs-pager-title{color:var(--ink);font-family:Nunito,sans-serif;font-size:14px;font-weight:500;line-height:1.35}.docs-pager-link:hover .docs-pager-title{color:var(--red);text-decoration:underline}.page-footer{display:flex;align-items:center;justify-content:center;min-height:74px;padding-top:24px;color:#a2a29e;font-family:Nunito,sans-serif;font-size:9px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan-glow{0%{transform:translateY(-55%);opacity:0}18%{opacity:1}82%{opacity:1}to{transform:translateY(55%);opacity:0}}@keyframes star-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes star-twinkle{0%,to{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}@keyframes scan-pulse{0%{opacity:.45;transform:scale(.86)}70%{opacity:0;transform:scale(1.08)}to{opacity:0;transform:scale(1.08)}}@keyframes scan-float{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(-10px);opacity:1}}@media(max-width:1000px){.docs-wiki{grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:24px}.intro{grid-template-columns:minmax(0,1fr);gap:30px}.workspace{grid-template-columns:minmax(0,1fr)}.editor-panel{min-height:560px;border-right:0;border-bottom:1px solid var(--line)}.result-panel{min-height:560px}}@media(max-width:680px){:root{--sidebar-width: 58px}.inference-parameters{grid-template-columns:1fr}.sidebar{padding:12px 4px 8px;gap:8px}.sidebar nav a,.sidebar-auth-button{min-height:52px;padding:6px 2px;font-size:9px}.brand__mark{width:34px;height:34px;border-radius:10px}.brand__name{font-size:17px}.editor-action-button,.editor-actions .run-button,.language-select{height:31px}.editor-action-button,.editor-actions .run-button{padding:0 10px;font-size:12px}.language-select__value{font-size:12px}.app-body>main{width:calc(100% - 12px);padding:0 6px}.intro{padding:36px 0 24px}.workspace{border-radius:var(--radius-md)}.panel__header{padding:0 12px}.editor-footer{padding-left:12px}.results{padding:13px}.history-card__open{grid-template-columns:32px minmax(0,1fr);padding-left:12px}.history-card__icon{width:32px;height:32px}.page-footer{padding:22px 4px}.auth-card{padding:28px 22px}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:14px}.docs-wiki{grid-template-columns:1fr;gap:20px;padding-top:28px}.docs-summary{position:static;max-height:none;padding:0 0 8px;border-bottom:1px solid var(--line)}.docs-article{padding:22px 16px 26px}}.toast-host{position:fixed;right:24px;bottom:24px;z-index:80;display:grid;gap:8px;width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 12px 12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:0 10px 30px #4a3f7824;font-size:12px;line-height:1.45}.toast--error{border-color:#d8d0f5;background:var(--red-wash)}.toast button{flex:0 0 auto;border:0;color:var(--muted);background:transparent;cursor:pointer}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;background:#2a244073}.confirm-dialog{width:min(420px,100%);padding:22px 22px 18px;border-radius:var(--radius-lg);background:#fff;box-shadow:0 20px 50px #4a3f7838}.confirm-dialog h2{margin:0 0 8px;font-family:Nunito,Noto Sans JP,sans-serif;font-size:18px;font-weight:500}.confirm-dialog p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}.confirm-dialog__actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;justify-content:end;gap:8px;width:fit-content;margin-left:auto}.confirm-dialog__actions .editor-action-button,.confirm-dialog__actions .run-button{height:40px;justify-content:center;padding:0 16px;box-shadow:none}.confirm-dialog__actions .run-button:hover:not(:disabled){box-shadow:none;transform:none}.error-view{display:grid;min-height:520px;place-content:center;place-items:center;justify-items:center;gap:16px;padding:64px 16px;text-align:center}.error-view h1{margin:0;font-family:Nunito,Noto Sans JP,sans-serif;font-size:32px;font-weight:500}.error-view p{max-width:420px;margin:0;color:var(--muted);line-height:1.55}.error-view .run-button{min-width:120px;margin-top:8px;justify-content:center;padding:0 20px;text-decoration:none}.route-loading{display:grid;min-height:320px;place-items:center;color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
