:root{--paper:#f4efe6;--paper-2:#ebe3d6;--ink:#251f24;--muted:#756b6f;--plum:#5d294f;--plum-dark:#3f1935;--coral:#cf765d;--ochre:#c69a43;--green:#718a70;--line:rgba(57,43,51,.14);--white:#fffdf9;--shadow:0 24px 70px rgba(66,45,54,.12);--radius:18px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05}h1{font-size:clamp(2.6rem,5vw,5.8rem);letter-spacing:-.045em}h2{font-size:2rem;letter-spacing:-.025em}.brand{display:inline-flex;gap:10px;align-items:center;font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:50% 46% 51% 45%;background:var(--plum);color:white;font-style:italic;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.button{border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 20px;font-weight:700;transition:.2s transform,.2s background,.2s box-shadow}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--coral);color:#241a1b;box-shadow:0 9px 25px rgba(173,91,71,.19)}.button-primary:hover{background:#dd846c}.button-dark{background:var(--plum-dark);color:white}.button-quiet{border:1px solid var(--line);background:rgba(255,255,255,.35)}.button-small{padding:9px 16px;font-size:13px}.button-full{width:100%}.eyebrow,.kicker{display:block;margin-bottom:13px;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:800;color:var(--plum)}
.app-header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:50px;background:rgba(244,239,230,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.main-nav{display:flex;height:100%;gap:28px;align-items:center;flex:1}.main-nav a{align-self:stretch;display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:600;position:relative}.main-nav a.active,.main-nav a:hover{color:var(--ink)}.main-nav a.active:after{content:"";height:2px;position:absolute;bottom:0;left:4px;right:4px;background:var(--coral)}.header-actions{display:flex;align-items:center;gap:15px}.account-menu{position:relative}.account-menu summary{list-style:none;width:36px;height:36px;border-radius:50%;background:var(--plum);color:#fff;display:grid;place-items:center;font-weight:800;cursor:pointer}.account-menu summary::-webkit-details-marker{display:none}.account-popover{position:absolute;right:0;top:45px;width:220px;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.account-popover small{display:block;color:var(--muted);margin-bottom:10px}.account-popover button{border:0;padding:8px 0;background:transparent;color:var(--plum);font-weight:700}.page-shell{max-width:1240px;margin:0 auto;padding:54px 34px 80px}.page-shell.narrow{max-width:820px}.page-intro{margin-bottom:32px}.page-intro h1{font-size:3.5rem;margin-bottom:10px}.page-intro p{color:var(--muted);max-width:650px}.page-intro.split{display:flex;align-items:end;justify-content:space-between}.back-link{display:block;margin-bottom:25px;color:var(--muted);font-size:13px}.flash-stack{position:fixed;z-index:100;right:20px;top:88px;display:grid;gap:8px}.flash{min-width:300px;max-width:450px;padding:13px 14px;border-radius:12px;background:#fff;box-shadow:var(--shadow);border-left:4px solid var(--plum);display:flex;justify-content:space-between;gap:15px}.flash-error{border-color:#a64040}.flash-success{border-color:var(--green)}.flash button{border:0;background:transparent;font-size:18px;color:var(--muted)}
.landing-page{background:var(--paper-2)}.landing-shell{max-width:1440px;margin:0 auto;min-height:100vh;padding:0 5vw}.landing-nav{height:88px;display:flex;align-items:center;justify-content:space-between}.landing-nav>div{display:flex;gap:24px;align-items:center}.text-link{font-size:13px;font-weight:700}.hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.85fr);gap:7vw;align-items:center;padding:60px 2vw 100px}.hero-copy h1{margin:0 0 26px}.hero-copy h1 em{color:var(--plum);font-weight:500}.hero-copy>p{font-family:var(--serif);font-size:19px;line-height:1.6;color:#685d62;max-width:620px}.hero-actions{display:flex;gap:10px;margin:35px 0}.trust-row{display:flex;gap:24px;color:var(--muted);font-size:11px}.trust-row span:before{content:"✓";color:var(--green);margin-right:6px}.hero-product{background:var(--white);border-radius:220px 220px 24px 24px;padding:18px;box-shadow:var(--shadow);transform:rotate(1deg);max-width:540px}.photo-stage{height:430px;position:relative;overflow:hidden;border-radius:205px 205px 14px 14px;background:radial-gradient(circle at 45% 45%,#c46679 0 14%,#9e4051 15% 27%,#6f2f45 28% 38%,#b85c72 39% 45%,#743049 46% 55%,#d58a91 56% 59%,#8e3a50 60% 70%,#502333 71% 100%)}.fiber-orbit{position:absolute;border:2px solid rgba(255,255,255,.5);border-radius:50%;inset:16%}.orbit-one{transform:rotate(18deg);border-left-color:transparent}.orbit-two{inset:22% 9%;transform:rotate(-25deg);border-bottom-color:transparent}.fiber-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:85px;height:85px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(40,18,31,.75);color:white;backdrop-filter:blur(4px)}.fiber-core span{font-family:var(--serif);font-size:26px}.fiber-core small{text-transform:uppercase;font-size:8px;letter-spacing:.15em}.scan-line{position:absolute;left:10%;right:10%;top:39%;height:1px;background:#fff;box-shadow:0 0 12px white}.scan-tag{position:absolute;padding:6px 8px;border-radius:4px;background:rgba(28,18,25,.72);color:white;font-size:8px;letter-spacing:.12em}.tag-one{top:29%;left:12%}.tag-two{right:9%;bottom:25%}.result-sheet{padding:23px 18px 10px;position:relative}.result-sheet h2{margin:0 0 4px;font-size:29px}.result-sheet p{color:var(--muted);font-size:12px}.color-chip{position:absolute;right:20px;top:23px;width:32px;height:32px;border-radius:50%;background:var(--chip);box-shadow:inset 0 0 0 5px rgba(255,255,255,.5)}.result-sheet dl{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 0;border-top:1px solid var(--line);padding-top:15px}.result-sheet dl div+div{border-left:1px solid var(--line);padding-left:15px}.result-sheet dt{font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.1em}.result-sheet dd{margin:4px 0;font-family:var(--serif);font-size:16px}.feature-strip{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:60px 2vw 80px;gap:6vw}.feature-strip article>span{font-family:var(--serif);color:var(--coral)}.feature-strip h3{font-size:24px;margin:14px 0 10px}.feature-strip p{color:var(--muted);font-size:13px}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1.05fr}.auth-panel{padding:40px 6vw;color:#fff;background:var(--plum-dark);display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-panel:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.15);border-radius:44% 56% 51% 49%;bottom:-220px;left:-100px;box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.02)}.auth-panel .brand-mark{background:var(--coral);color:var(--ink)}.auth-copy{margin:auto 0;max-width:540px;position:relative;z-index:1}.auth-copy .eyebrow{color:#e39a84}.auth-copy h1{font-size:4.7rem}.auth-copy p{font-family:var(--serif);font-size:18px;color:rgba(255,255,255,.66)}.auth-form-wrap{display:grid;place-items:center;padding:40px}.auth-form{width:min(430px,100%)}.auth-form header{margin-bottom:34px}.auth-form h2{font-size:42px;margin-bottom:8px}.auth-form header p,.auth-form header a{color:var(--muted)}.auth-form header a{color:var(--plum);font-weight:700}.auth-form label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}.auth-form input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.58);outline:none}.auth-form input:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(93,41,79,.09)}.auth-form label small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.check-row{display:flex!important;align-items:center;gap:8px}.fine-print{text-align:center;margin-top:15px;font-size:11px;color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat-grid article{background:rgba(255,253,249,.72);border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.stat-grid article>em,.stat-grid article>a{grid-column:2;font-size:10px;color:var(--muted);font-style:normal;margin-top:-7px}.stat-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;color:#fff}.stat-icon.plum{background:var(--plum)}.stat-icon.ochre{background:var(--ochre)}.stat-icon.green{background:var(--green)}.stat-icon.coral{background:var(--coral)}.stat-grid strong{display:block;font-family:var(--serif);font-size:23px;line-height:1}.stat-grid small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 330px;gap:18px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,253,249,.68);padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.panel-head .eyebrow{margin-bottom:6px}.panel-head h2{margin:0}.panel-head>a{font-size:12px;font-weight:700;color:var(--plum)}.mini-stash{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mini-yarn{display:grid;grid-template-columns:78px 1fr;gap:13px;padding:9px;border-radius:12px;transition:.2s background}.mini-yarn:hover{background:var(--paper-2)}.mini-yarn img,.yarn-placeholder{width:78px;height:78px;object-fit:cover;border-radius:10px}.yarn-placeholder{display:grid;place-items:center;background:var(--yarn-color);color:#fff;font:italic 26px var(--serif)}.mini-yarn>div:last-child{align-self:center;min-width:0}.mini-yarn strong,.mini-yarn span,.mini-yarn small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-yarn span{color:var(--muted);font-size:11px}.mini-yarn small{font-size:10px;margin-top:8px}.empty-state{text-align:center;padding:58px 20px}.empty-orbit{margin:0 auto 15px;display:grid;place-items:center;width:65px;height:65px;border:1px solid var(--line);border-radius:50%;font-size:25px;color:var(--plum)}.empty-state h3{font-size:26px;margin:10px}.empty-state p{color:var(--muted);max-width:470px;margin:0 auto 23px}.empty-state>a:last-child{display:block;margin-top:13px;color:var(--plum);font-size:12px;font-weight:700}.activity-list{list-style:none;padding:0;margin:0}.activity-list li{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.movement-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--coral)}.movement-dot.check_in,.movement-dot.adjustment_in{background:var(--green)}.activity-list strong{font-size:12px}.activity-list p,.activity-list small{margin:0;color:var(--muted);font-size:10px}.quiet-empty{padding:20px 0 35px;color:var(--muted)}.project-prompt{margin-top:20px;background:var(--plum);color:white;border-radius:13px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.project-prompt>span{font-size:20px;color:#efaa91}.project-prompt strong,.project-prompt small{display:block}.project-prompt small{color:rgba(255,255,255,.58);font-size:9px}
.identify-card{background:var(--white);border:1px solid var(--line);padding:18px;border-radius:20px;box-shadow:var(--shadow)}.drop-zone{min-height:390px;border:1px dashed rgba(93,41,79,.35);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(93,41,79,.03),rgba(207,118,93,.04));position:relative;overflow:hidden;cursor:pointer}.drop-zone.dragging{border-color:var(--coral);background:rgba(207,118,93,.08)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone>strong{font:500 25px var(--serif)}.drop-zone>span:not(.camera-mark){color:var(--plum);font-size:12px;font-weight:700}.drop-zone>small{color:var(--muted);margin-top:18px;text-align:center;padding:0 16px}.camera-mark{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:var(--plum);color:#fff;font-size:27px;margin-bottom:18px}.photo-preview-grid{position:absolute;inset:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-auto-rows:minmax(100px,1fr);gap:8px;padding:8px;overflow:auto;background:#eee7de;z-index:2;pointer-events:none}.photo-preview-grid[hidden]{display:none}.photo-preview-grid figure{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:9px;background:#ddd3c8}.photo-preview-grid img{width:100%;height:100%;object-fit:cover}.photo-preview-grid figcaption{position:absolute;right:7px;bottom:7px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(45,29,38,.78);color:#fff;font-size:11px;font-weight:800}.photo-selection{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:12px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(113,138,112,.1)}.photo-selection[hidden]{display:none}.photo-selection strong,.photo-selection span{display:block}.photo-selection span{color:var(--muted);font-size:11px}.photo-selection button{border:0;background:transparent;color:var(--plum);font-weight:800;white-space:nowrap}.photo-tips{display:flex;align-items:center;gap:25px;padding:18px 12px}.photo-tips>span{font:500 16px var(--serif)}.photo-tips ul{display:flex;gap:24px;padding:0;margin:0;list-style:none;color:var(--muted);font-size:11px}.photo-tips li:before{content:"✓";color:var(--green);margin-right:5px}.knowledge-picker{display:grid;grid-template-columns:1fr minmax(260px,1fr);gap:18px;align-items:center;padding:16px 12px;border-top:1px solid var(--line)}.knowledge-picker strong,.knowledge-picker small{display:block}.knowledge-picker small{color:var(--muted);font-size:10px}.knowledge-picker select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.66)}.force-refresh-option{display:flex;align-items:flex-start;gap:11px;padding:15px 12px;border-top:1px solid var(--line);cursor:pointer}.force-refresh-option input{margin-top:4px;accent-color:var(--plum)}.force-refresh-option span,.force-refresh-option strong,.force-refresh-option small{display:block}.force-refresh-option small{color:var(--muted);font-weight:400}.force-refresh-option:has(input:disabled){opacity:.5;cursor:not-allowed}.identify-card footer{border-top:1px solid var(--line);padding:17px 8px 2px;display:flex;justify-content:space-between;align-items:center}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px}.identify-card footer small{color:var(--muted)}.privacy-note{display:flex;gap:12px;color:var(--muted);padding:22px 20px;font-size:11px}.privacy-note p{margin:0}.privacy-note span{color:var(--green)}
@media(max-width:980px){.main-nav{display:none}.app-header{padding:0 18px}.header-actions{margin-left:auto}.hero{grid-template-columns:1fr;padding-top:80px}.hero-product{margin:0 auto}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.auth-panel{display:none}.auth-shell{grid-template-columns:1fr}.feature-strip{gap:25px}.mini-stash{grid-template-columns:1fr}}
@media(max-width:650px){.page-shell{padding:34px 16px 60px}.page-intro.split{display:block}.page-intro.split .button{margin-top:10px}.page-intro h1{font-size:2.7rem}.app-header .brand>span:last-child{display:none}.hero{display:block;padding:50px 0}.hero-copy h1{font-size:3.6rem}.hero-product{margin-top:65px}.photo-stage{height:350px}.feature-strip{grid-template-columns:1fr}.trust-row{flex-wrap:wrap}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid article{display:block}.stat-icon{margin-bottom:12px}.stat-grid article>em,.stat-grid article>a{display:block;margin-top:8px}.header-actions .button span:first-child{display:none}.photo-tips,.photo-tips ul{display:block}.photo-tips li{margin-top:6px}.knowledge-picker{grid-template-columns:1fr}.identify-card footer{align-items:start;gap:15px;flex-direction:column}.identify-card footer .button{width:100%}.flash-stack{left:12px;right:12px}.flash{min-width:0}.landing-nav{padding:0}.landing-shell{padding:0 20px}.landing-nav .button{display:none}.auth-form-wrap{padding:28px 20px}}
.identification-provenance{margin:10px 0 0;color:var(--muted);font-size:10px}.photo-gallery-wrap{margin-top:14px}.photo-gallery-wrap>strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.photo-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.photo-gallery img{width:100%;height:72px;object-fit:cover;border-radius:8px}.photo-add-form{display:flex;align-items:end;gap:10px;margin-top:12px;padding:12px;background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:10px}.photo-add-form label{font-size:11px;font-weight:700}.photo-add-form input{display:block;margin-top:5px;max-width:220px}.research-panel{margin:28px 0}.research-panel .panel-head p{margin:4px 0 0;color:var(--muted)}.research-price-grid,.collection-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0}.research-price-grid>div,.collection-summary>div{background:var(--white);padding:18px}.research-price-grid small,.collection-summary small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.research-price-grid strong,.collection-summary strong{font:500 24px var(--serif)}.research-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}.research-columns h3,.research-listings h3,.research-sources h3{font:500 20px var(--serif)}.research-notes{padding-left:18px;color:var(--ink)}.research-notes li{margin:8px 0}.research-notes.caution li::marker{color:var(--coral)}.research-listings article{display:flex;justify-content:space-between;gap:25px;padding:14px 0;border-top:1px solid var(--line)}.research-listings article>div{display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.research-listings article small{grid-column:2;color:var(--muted)}.research-listings article>b{text-align:right;white-space:nowrap}.research-listings article>b small{display:block}.source-badge{font-size:9px;text-transform:uppercase;background:var(--plum);color:#fff;padding:3px 6px;border-radius:8px;align-self:start}.research-sources{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}.research-sources a{display:inline-block;margin:0 12px 8px 0}.research-freshness{font-size:10px;color:var(--muted);margin-top:18px}.manufacturer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.manufacturer-card h2{font:500 28px var(--serif);margin:8px 0}.manufacturer-card dl{display:flex;gap:28px}.manufacturer-card dt{font-size:9px;text-transform:uppercase;color:var(--muted)}.manufacturer-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.collection-summary{margin-bottom:24px}@media(max-width:900px){.manufacturer-grid{grid-template-columns:1fr 1fr}.research-columns{grid-template-columns:1fr}}@media(max-width:650px){.manufacturer-grid,.research-price-grid,.collection-summary{grid-template-columns:1fr}.research-listings article{display:block}.research-listings article>b{display:block;text-align:left;margin-top:8px}.photo-add-form{display:block}.photo-add-form button{margin-top:8px}}
