:root{--bg:#f7f5ef;--ink:#171716;--muted:#6b675f;--line:#d8d2c6;--panel:#fffdf8;--panel-strong:#f0ece2;--accent:#136f63;--accent-dark:#0e4c44;--accent-soft:#e5f3ef;--danger:#a9362f;--shadow:0 18px 60px rgba(35,31,24,0.12);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.app-page,.share-page,.site-shell{min-height:100vh}.editor-header,.topbar,.workspace-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.topbar,.workspace-header{padding:22px clamp(20px,4vw,56px)}.brand-lockup{font-size:17px;font-weight:760;gap:10px}.brand-lockup,.brand-mark{align-items:center;display:inline-flex}.brand-mark{background:var(--ink);border-radius:6px;color:#fffaf0;font-family:Georgia,serif;font-size:16px;height:34px;justify-content:center;width:34px}.editor-actions,.hero-actions,.nav-actions,.project-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.button,.icon-button{align-items:center;border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;font-size:14px;font-weight:720;gap:8px;justify-content:center;min-height:38px;padding:0 14px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.45}.button-dark{background:var(--ink);border-color:var(--ink);color:#fffaf0}.button-light{background:rgba(255,253,248,.74);color:var(--ink)}.button.full{width:100%;margin-bottom:8px}.icon-button{background:var(--panel);height:38px;padding:0;width:38px}.icon-button.danger{color:var(--danger)}.hero-grid{display:grid;grid-gap:clamp(28px,5vw,70px);gap:clamp(28px,5vw,70px);grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);min-height:calc(100vh - 82px);padding:clamp(42px,7vw,94px) clamp(20px,5vw,72px)}.hero-copy{align-self:center}.dashboard-intro h1,.hero-copy h1,.pricing-hero h1,.share-hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,11vw,132px);font-weight:500;line-height:.88;margin:0}.dashboard-intro p,.hero-copy p,.pricing-hero p,.share-hero p{color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:1.45;margin:28px 0;max-width:680px}.hero-product{align-self:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-height:540px;overflow:hidden}.product-toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 20px}.mini-slider span,.product-toolbar span,.project-template,.save-status,.source-chip,.view-meta,.workspace-header>span{color:var(--muted);font-size:12px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.hero-live-specimen{line-height:.9;padding:56px 28px 30px;min-height:220px}.hero-live-specimen .hero-word{display:block;font-size:clamp(96px,16vw,180px);line-height:.9;color:var(--ink)}.hero-live-specimen .hero-word.loading{color:var(--muted)}.hero-live-specimen small{color:var(--muted);display:block;font-size:22px;margin-top:18px}.slider-stack{display:grid;grid-gap:16px;gap:16px;padding:0 28px 30px}.mini-slider{display:grid;grid-gap:8px;gap:8px}.mini-slider span{align-items:center;display:flex;justify-content:space-between}.mini-slider b{color:var(--ink)}input[type=range]{accent-color:var(--accent);width:100%}.pricing-grid,.project-list,.workflow-band{display:grid;grid-gap:14px;gap:14px;padding:0 clamp(20px,5vw,72px) 72px}.workflow-band{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-row,.pricing-card,.project-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.feature-row{display:grid;grid-gap:18px;gap:18px;padding:24px}.feature-row h2,.pricing-card h2,.project-card h2{font-size:19px;margin:0 0 10px}.feature-row p,.pricing-card p,.project-card p{color:var(--muted);line-height:1.48;margin:0}.app-page{padding-bottom:54px}.dashboard-grid{align-items:center;display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr auto;padding:54px clamp(20px,5vw,72px) 28px}.big-new{min-height:52px;padding:0 26px;font-size:15px}.project-card{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:20px 22px}.project-card.empty{flex-direction:column;text-align:center;gap:14px;padding:44px;color:var(--muted)}.project-card.empty>div{display:grid;grid-gap:8px;gap:8px;justify-items:center}.project-card-body{display:grid;grid-gap:6px;gap:6px;min-width:0}.project-template{font-size:11px}.project-card-meta{align-items:center;display:flex;gap:14px;font-size:13px}.meta-edited{align-items:center;color:var(--accent-dark);display:inline-flex;gap:4px}.pricing-hero{padding:70px clamp(20px,5vw,72px) 34px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-card{display:grid;grid-gap:18px;gap:18px;padding:28px}.pricing-card strong{font-size:54px}.pricing-card strong span{color:var(--muted);font-size:17px}.pricing-card ul{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.pricing-card li{align-items:center;display:flex;gap:8px}.dialog-backdrop{background:rgba(23,23,22,.5);inset:0;position:fixed;z-index:200;display:flex;padding:clamp(16px,5vh,60px);overflow:auto}.dialog{background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin:auto;width:min(920px,100%);overflow:hidden}.dialog-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px;background:var(--panel)}.dialog-head h2{margin:0;font-size:20px}.dialog-modes{display:flex;gap:6px;padding:14px 22px 0}.dialog-modes button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-weight:720;padding:8px 4px}.dialog-modes button.is-active{color:var(--ink);border-bottom-color:var(--accent)}.dialog-body{padding:18px 22px 26px}.dialog-lead{color:var(--muted);line-height:1.5;margin:0 0 18px;max-width:640px}.dialog-error{background:#fdecea;border:1px solid #e6a9a1;color:var(--danger);border-radius:var(--radius);margin:14px 22px 0;padding:10px 14px;font-size:13px}.category-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.category-row button{background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;padding:6px 14px}.category-row button.is-active{background:var(--ink);border-color:var(--ink);color:#fffaf0}.preset-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.preset-tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:4px;gap:4px;padding:16px;text-align:left;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.preset-tile:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.preset-tile:disabled{opacity:.6;cursor:default}.preset-specimen{font-size:40px;line-height:1;height:52px;display:flex;align-items:center;color:var(--ink)}.preset-name{font-weight:760;font-size:15px}.preset-cat{color:var(--accent);font-size:10px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.preset-desc{color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}.preset-license{color:var(--accent-dark);font-size:11px;opacity:.8;margin-top:4px}.upload-drop{align-items:center;background:var(--panel);border:2px dashed var(--line);border-radius:12px;color:var(--muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:200px;width:100%;transition:border-color .14s ease,background .14s ease}.upload-drop:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.upload-drop strong{font-size:16px;color:var(--ink)}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.field span{color:var(--muted);font-size:13px;font-weight:720}.field input,.field textarea,.sample-input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);min-height:38px;padding:9px 11px;width:100%;resize:vertical}.editor-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.editor-header{background:var(--panel);gap:14px;min-height:60px;padding:10px 16px}.editor-header-left{align-items:center;display:flex;gap:12px;min-width:0}.project-name-input{background:transparent;border:1px solid transparent;border-radius:6px;font-size:17px;font-weight:760;min-height:34px;padding:4px 8px;max-width:280px}.project-name-input:focus,.project-name-input:hover{border-color:var(--line);background:var(--bg);outline:none}.source-chip{background:var(--accent-soft);border-radius:999px;color:var(--accent-dark)!important;padding:5px 12px;font-size:11px!important;white-space:nowrap}.save-status{align-items:center;display:inline-flex;gap:5px}.share-banner{align-items:center;background:var(--accent-soft);border-bottom:1px solid var(--line);color:var(--accent-dark);display:flex;gap:12px;padding:10px 16px;font-size:13px}.share-banner a{align-items:center;display:inline-flex;gap:5px;font-weight:720;text-decoration:underline}.share-banner .icon-button{margin-left:auto;min-height:30px;height:30px;width:30px}.editor-body{display:grid;grid-template-columns:320px minmax(0,1fr);flex:1 1;min-height:0}.editor-left{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.left-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;padding:12px;border-bottom:1px solid var(--line)}.left-tabs button{background:var(--panel-strong);border:1px solid transparent;border-radius:6px;color:var(--muted);font-weight:720;min-height:36px}.left-tabs button.is-active{background:var(--ink);color:#fffaf0}.left-scroll{overflow-y:auto;padding:16px;flex:1 1}.panel-block{margin-bottom:22px}.panel-block-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.panel-block-head h3{font-size:12px;font-weight:760;letter-spacing:.07em;margin:0;text-transform:uppercase;color:var(--muted)}.preset-chips{display:flex;flex-wrap:wrap;gap:6px}.preset-chip{background:var(--panel-strong);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700;padding:6px 12px;transition:background .14s ease,border-color .14s ease}.preset-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.slider-row{margin-bottom:14px}.slider-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.slider-label-row label{font-size:13px;font-weight:700}.slider-value{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:760}.slider-row.is-changed .slider-value{color:var(--accent-dark)}.slider-row.is-changed input[type=range]{accent-color:var(--accent-dark)}.panel-hint{align-items:flex-start;color:var(--muted);display:flex;font-size:12px;gap:6px;line-height:1.4;margin:10px 0 0}.panel-hint svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.toggle-row{align-items:center;display:flex;font-size:13px;gap:8px;margin-top:8px}.format-list{display:grid;grid-gap:6px;gap:6px;margin-bottom:8px}.format-row{align-items:center;background:var(--panel-strong);border:1px solid transparent;border-radius:6px;display:grid;grid-template-columns:auto auto 1fr;grid-gap:8px;gap:8px;padding:9px 11px;cursor:pointer}.format-row.is-on{background:var(--accent-soft);border-color:var(--accent)}.format-name{font-size:13px;font-weight:760}.format-hint{color:var(--muted);font-size:12px;text-align:right}.export-result{background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius);margin-top:12px;padding:14px}.export-result-head{font-size:13px;font-weight:760;margin:0 0 8px}.export-result ul{display:grid;grid-gap:4px;gap:4px;list-style:none;margin:0;padding:0}.export-result li{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.export-bytes{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.export-warning{color:var(--danger);font-size:12px;margin:8px 0 0}.editor-main{display:flex;flex-direction:column;min-height:0;min-width:0}.view-toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px 18px;background:var(--bg)}.view-switch{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:flex;gap:2px;padding:3px}.view-switch button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);display:inline-flex;font-size:13px;font-weight:720;gap:6px;padding:7px 14px}.view-switch button.is-active{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px rgba(35,31,24,.1)}.view-error{color:var(--danger);text-transform:none;letter-spacing:0;font-size:13px}.view-stage{flex:1 1;min-height:0;overflow:auto;padding:clamp(20px,4vw,48px)}.tester{display:grid;grid-gap:22px;gap:22px;max-width:1100px;margin:0 auto}.tester-compare{display:grid;grid-gap:8px;gap:8px}.tester-tag{color:var(--muted);font-size:11px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.tester-tag.is-live{color:var(--accent-dark)}.tester-text{color:var(--ink);outline:none;word-break:break-word}.tester-text.is-original{color:var(--muted)}.tester-text:focus{outline:none}.waterfall{display:grid;grid-gap:14px;gap:14px;max-width:1100px;margin:0 auto}.waterfall-row{align-items:baseline;border-bottom:1px solid var(--line);display:grid;grid-template-columns:46px 1fr;grid-gap:14px;gap:14px;padding-bottom:12px}.waterfall-size{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:760}.waterfall-line{color:var(--ink);line-height:1.15;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.glyph-grid-views{display:grid;grid-gap:28px;gap:28px;max-width:1100px;margin:0 auto}.glyph-group-title{color:var(--muted);font-size:12px;font-weight:760;letter-spacing:.07em;margin:0 0 12px;text-transform:uppercase}.glyph-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.glyph-cell{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:12px 6px 8px;position:relative;transition:border-color .13s ease,transform .13s ease}.glyph-cell:hover{border-color:var(--accent);transform:translateY(-2px)}.glyph-cell.is-edited{border-color:var(--accent);background:var(--accent-soft)}.glyph-cell.is-empty{border-style:dashed}.glyph-cell-char{color:var(--ink);font-size:40px;line-height:1;height:46px;display:flex;align-items:center}.glyph-cell.is-empty .glyph-cell-char{color:var(--line)}.glyph-cell-meta{align-items:center;color:var(--muted);display:inline-flex;font-size:11px;font-weight:700;gap:4px}.glyph-cell-badge{color:var(--accent)}.glyph-editor{display:flex;flex-direction:column;height:100vh;overflow:hidden}.glyph-editor-bar{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;grid-gap:14px;gap:14px;padding:10px 16px}.ge-left{align-items:center;display:flex;gap:12px}.ge-title{display:grid;line-height:1.1}.ge-title strong{font-size:20px}.ge-title span{color:var(--muted);font-size:11px;font-weight:700}.ge-tools{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:flex;gap:2px;padding:3px}.tool-button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);display:inline-flex;height:34px;justify-content:center;width:34px}.tool-button:hover:not(:disabled){background:var(--panel);color:var(--ink)}.tool-button.is-active{background:var(--ink);color:#fffaf0}.tool-button:disabled{opacity:.4;cursor:not-allowed}.ge-divider{background:var(--line);height:22px;width:1px;margin:0 4px}.ge-right{align-items:center;display:flex;gap:8px;justify-content:flex-end}.glyph-editor-body{display:flex;flex:1 1;min-height:0}.glyph-editor-canvas{flex:1 1;min-height:0;min-width:0;position:relative;background:linear-gradient(rgba(19,111,99,.05) 1px,transparent 0),linear-gradient(90deg,rgba(19,111,99,.05) 1px,transparent 0);background-size:40px 40px;background-color:#faf8f2}.ge-svg{display:block;touch-action:none}.ge-svg.tool-pen{cursor:crosshair}.ge-svg.tool-hand{cursor:-webkit-grab;cursor:grab}.ge-guide{stroke:rgba(19,111,99,.22);stroke-width:1}.ge-guide.is-strong{stroke:rgba(169,54,47,.45)}.ge-guide-label{fill:var(--muted);font-size:11px;font-weight:700}.ge-bearing{stroke:rgba(19,111,99,.5);stroke-width:1.5;stroke-dasharray:6 6}.ge-bearing.is-advance{stroke:rgba(23,23,22,.4)}.ge-original-ghost{fill:rgba(23,23,22,.08)}.ge-styled-ghost{fill:rgba(19,111,99,.16)}.ge-outline{fill:rgba(19,45,68,.9);stroke:rgba(5,24,34,.12);stroke-width:1}.ge-handle-line{stroke:var(--accent);stroke-width:1}.ge-handle{fill:var(--panel);stroke:var(--accent);stroke-width:1.5}.ge-anchor,.ge-handle{cursor:-webkit-grab;cursor:grab}.ge-anchor{fill:#fffdf8;stroke:var(--accent-dark);stroke-width:1.5}.ge-anchor.is-smooth{stroke:var(--accent)}.ge-anchor.is-selected{fill:var(--accent);stroke:var(--accent-dark)}.ge-marquee{fill:rgba(19,111,99,.08);stroke:var(--accent);stroke-width:1;stroke-dasharray:4 4}.ge-grid{stroke:rgba(19,111,99,.09);stroke-width:1}.ge-snapline{stroke:#c2543d;stroke-width:1;stroke-dasharray:5 4;pointer-events:none}.ge-draft{fill:rgba(19,111,99,.1);stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 4}.ge-reference{fill:rgba(38,84,124,.1);pointer-events:none}.ge-nav{display:flex;gap:2px}.ge-inspector{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:14px;width:236px;flex-shrink:0}.ge-block{border-bottom:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-bottom:14px;margin-bottom:10px}.ge-block:last-child{border-bottom:0}.ge-block h4{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ge-muted{color:var(--muted);font-size:11.5px;line-height:1.45}.ge-num-grid{display:flex;gap:8px}.ge-num-grid label{align-items:center;color:var(--muted);display:flex;flex:1 1;font-size:11px;font-weight:700;gap:6px}.ge-num{background:var(--panel-strong);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;min-width:0;padding:6px 8px;width:100%}.ge-num:focus{border-color:var(--accent);outline:none}.ge-icon-grid{display:flex;flex-wrap:wrap;gap:4px}.ge-icon-grid .tool-button{background:var(--panel-strong);border:1px solid var(--line);height:30px;width:30px}.ge-icon-grid .tool-button:hover:not(:disabled){background:#fffdf8}.ge-insert-row{align-items:center;display:flex;gap:6px}.ge-insert-row .tool-button{flex-shrink:0;height:32px;width:32px}.ge-insert-row .tool-button,.ge-select{background:var(--panel-strong);border:1px solid var(--line)}.ge-select{border-radius:6px;color:var(--ink);font:inherit;font-size:12.5px;min-width:0;padding:6px 8px;width:100%}.ge-select:focus{border-color:var(--accent);outline:none}.glyph-editor-hint{background:var(--panel);border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding:8px 16px;position:absolute;bottom:0;left:0;right:0}.editor-loading,.editor-missing{align-items:center;display:flex;flex-direction:column;gap:14px;height:100vh;justify-content:center;padding:40px;text-align:center;color:var(--muted)}.editor-missing h1{color:var(--ink);margin:0}.share-page{padding-bottom:80px}.share-hero{align-items:end;display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr auto;padding:64px clamp(20px,5vw,72px) 34px}.share-meta{display:grid;grid-gap:8px;gap:8px}.share-meta span{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:13px;color:var(--muted)}.shared-specimen{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-gap:18px;gap:18px;min-height:360px;padding:clamp(24px,5vw,72px)}.share-headline{font-size:clamp(40px,7vw,88px);line-height:1.05;margin:0 0 12px}.share-headline,.share-line{color:var(--ink);word-break:break-word}.share-line{font-size:clamp(22px,3vw,38px);margin:0}.share-loading{align-items:center;color:var(--muted);display:flex;gap:10px}@media (max-width:1080px){.editor-body{grid-template-columns:280px minmax(0,1fr)}}@media (max-width:900px){.dashboard-grid,.hero-grid,.pricing-grid,.share-hero{grid-template-columns:1fr}.workflow-band{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.editor-left{border-right:0;border-bottom:1px solid var(--line);max-height:44vh}}@media (max-width:640px){.topbar,.workspace-header{align-items:flex-start;flex-direction:column;gap:14px}.glyph-editor-bar,.workflow-band{grid-template-columns:1fr}.glyph-editor-bar{gap:8px}}