@charset "UTF-8";
:root{--navy:#142d39;--teal:#177e73;--ink:#1c333e;--muted:#64757c;--line:#dce5e5;--bg:#f4f7f6;--white:#fff;--danger:#a62d35;--radius:15px;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px 15px;font-weight:650}button:hover{background:#eef5f3}button:disabled{opacity:.48;cursor:not-allowed}a{color:var(--teal)}input,select,textarea{width:100%;padding:12px;border:1px solid #bdcccc;border-radius:9px;background:#fff;color:var(--ink);min-height:44px}textarea{resize:vertical;min-height:90px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--teal)}:focus-visible{outline:3px solid #c5862d;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.5;letter-spacing:-.7px;margin-bottom:10px}h2{font-size:19px;letter-spacing:.2px;margin-bottom:8px}h3{font-size:17px;line-height:1.6}p{line-height:1.8}small{display:block}label{display:block;font-size:13px;font-weight:600}label input,label select,label textarea{margin-top:7px}label .hint{font-weight:400}button.primary{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 3px 6px #1b675b10}button.primary:hover{background:#10675e}button.danger{color:var(--danger);border-color:#edc6ca}.wide{width:100%}[hidden]{display:none!important}.layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:800;font-size:21px;letter-spacing:1.4px;white-space:nowrap}.brand small{font-size:10px;font-weight:450;letter-spacing:1px;margin-top:5px;color:#b0c6ca}nav{display:flex;flex-direction:column;gap:8px}.tiny-label{font-size:9px;letter-spacing:2px;color:#82b5b0}.owner{display:flex;align-items:center;gap:10px;padding-top:23px;border-top:1px solid #35505a;font-size:11px}.owner small{font-size:9px;color:#97afb8;margin-top:5px}.avatar{width:34px;height:34px;border-radius:50%;background:#3b5b65;display:grid;place-items:center}.topbar{height:77px;display:flex;justify-content:space-between;align-items:center;padding:0 42px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.2px;background:#ffffff9c;color:#637780}.slash{padding:0 13px;color:#a6b7b9}.sync-status{display:flex;align-items:center;gap:8px;border:0;background:none;font-size:11px;font-weight:400;letter-spacing:0;padding:10px 0}.dot{width:6px;height:6px;background:#208b6e;border-radius:50%}.dot.offline{background:#bb8030}.content{max-width:1480px;margin:auto;padding:38px 42px 0}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--teal);margin-bottom:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:0}.page-heading button{flex-shrink:0;font-size:13px;min-height:48px;padding:12px 20px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:36px}.stat{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff;position:relative;overflow:hidden}.stat:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}.stat-label{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.stat:first-child .stat-label,.stat:first-child .stat-note{color:#adc7cb}.stat-icon{font-size:17px;opacity:.8}.stat strong{font-size:36px;font-weight:700;letter-spacing:-1px}.stat .unit{font-size:11px;margin-left:6px;color:var(--muted)}.stat:first-child .unit{color:#adc7cb}.stat-note{font-size:10px;color:var(--muted);margin-top:9px}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.collection-heading p{font-size:11px;color:var(--muted);margin-bottom:0}.count-label{font-size:11px;color:var(--muted);white-space:nowrap}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:22px}.search{position:relative;flex:1}.search>span{position:absolute;left:14px;top:10px;font-size:24px;color:#6c8085}.search input{margin:0;padding-left:42px;font-size:12px;min-height:45px}.filter-label{width:170px}.filter-label select{margin:0;font-size:12px;height:45px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.kit-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column}.kit-art{height:100px;background:linear-gradient(115deg,#eef2f1,#e4eeeb);position:relative;padding:19px;display:flex;justify-content:space-between;align-items:center}.grade-art{font-size:39px;font-weight:800;color:#a7bdb6;letter-spacing:-2px;line-height:1}.scale-art{font-size:10px;letter-spacing:2px;color:#69867d;margin-top:6px}.box-art{width:63px;height:63px;opacity:.65}.kit-body{padding:19px;display:flex;flex-direction:column;flex:1}.kit-body h3{margin:0 0 8px;font-size:15px}.kit-meta{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:15px}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.badge{display:inline-flex;align-items:center;padding:4px 7px;font-size:10px;border-radius:5px;background:#edf3f1;color:#3b6759}.badge.reserved{background:#fbf0dd;color:#8b662d}.badge.building{background:#eaf0fc;color:#466bb0}.badge.history{background:#f0eeee;color:#716769}.badge.neutral{background:#f0f2f3;color:#65747c}.kit-actions{border-top:1px solid #edf1f0;margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.kit-actions button{font-size:11px;min-height:44px;padding:8px 10px}.kit-actions span{font-size:10px;color:var(--muted)}.empty{grid-column:1/-1;text-align:center;border:1px dashed #bdcec8;border-radius:var(--radius);padding:43px 20px 39px;background:#fff}.empty-icon{display:block;width:60px;height:60px;margin:0 auto 18px;opacity:.75}.empty h3{font-size:17px;margin-bottom:10px}.empty p{font-size:12px;color:var(--muted);margin-bottom:22px}.empty button{font-size:12px}.page-footer{margin-top:40px;padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#81938f}.page-footer>span:first-child{letter-spacing:2px;font-weight:650}.banner{padding:12px 16px;border-radius:8px;background:#fff1d9;color:#806022;font-size:12px;margin-bottom:22px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(140deg,#122c37,#244b55)}.auth-card{width:min(100%,460px);padding:36px;border-radius:19px;background:#fff;box-shadow:0 30px 100px #0003}.auth-card .brand{margin-bottom:35px}.auth-card .brand small{color:var(--muted)}.auth-card h1{font-size:24px}.auth-card p{font-size:12px;color:var(--muted)}.auth-card form{display:grid;gap:18px;margin-top:25px}.error{color:var(--danger)!important;font-size:12px;line-height:1.8;margin:15px 0 0;white-space:pre-wrap}.error:empty{display:none}dialog{width:min(700px,calc(100% - 30px));max-height:90dvh;border:0;border-radius:19px;padding:26px;color:var(--ink);box-shadow:0 35px 100px #102c3555}dialog::backdrop{background:#10252f99;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:22px}.dialog-top .eyebrow{margin-bottom:8px;font-size:9px}.dialog-top h2{margin:0;font-size:21px}.icon-button{font-size:24px;min-width:44px;padding:4px;background:#f4f6f6;border:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.hint{font-size:11px;color:var(--muted);line-height:1.8;margin:8px 0 0}.section-label{font-size:12px;font-weight:750;margin:22px 0 10px}.photo-panel{padding:17px;background:#f2f6f4;border-radius:12px;margin-bottom:20px}.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions button{font-size:11px}.photo-preview{display:block;max-width:100%;max-height:220px;object-fit:contain;margin:15px auto;border-radius:8px}.photo-panel video{width:100%;max-height:280px;background:#17303a;border-radius:9px;margin-top:12px}.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.8;margin:12px 0;font-size:11px}.consent input{flex-shrink:0;margin-top:3px}.product-choices{max-height:245px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin-top:10px}.product-choice{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;font-weight:500;font-size:12px}.product-choice:last-child{border-bottom:0}.product-choice small{font-size:10px;color:var(--muted);margin-top:5px}.selected-product{padding:15px;border:1px solid #96bcb2;border-radius:10px;background:#edf6f2;margin-bottom:16px}.selected-product strong{display:block;font-size:14px}.selected-product p{font-size:11px;margin:7px 0 0}.manual{padding:15px;background:#f7f9f8;border-radius:10px;margin:15px 0}.manual summary{cursor:pointer;min-height:30px;font-size:12px;font-weight:700}.manual .form-grid{margin-top:12px}.duplicate{background:#fff3df;border-radius:8px;padding:12px;margin:12px 0;font-size:12px;color:#826027;line-height:1.7}.item-row{border:1px solid var(--line);padding:15px;border-radius:10px;margin:10px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.item-row p{font-size:11px;margin:5px 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.item-row .badges{margin-bottom:4px}.item-row button{font-size:11px;flex-shrink:0}.item-photo{max-width:100%;max-height:220px;border-radius:8px;margin:10px 0}.settings-card{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:white;margin-bottom:17px}.settings-card p{font-size:12px;color:var(--muted)}.settings-card button{font-size:12px;margin-right:8px;margin-bottom:5px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:14px 23px;border-radius:10px;box-shadow:0 5px 25px #0002;font-size:13px;z-index:10;max-width:calc(100vw - 30px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:15px;z-index:99;padding:14px;background:white}.skip:focus{top:15px}.recognition-result{font-size:12px;padding:12px 0}.recognition-result p{white-space:pre-wrap;margin-bottom:10px}.candidate{margin:7px 0}.soft-button{background:#eef5f2;color:var(--teal);border-color:#d6e7df}.loading{padding:40px;text-align:center;color:var(--muted)}
@media(min-width:1450px){.content{padding:45px 55px 0}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.layout{grid-template-columns:205px minmax(0,1fr)}.brand{font-size:18px;gap:9px}.topbar{padding:0 25px}.content{padding:30px 25px 0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:17px 13px}.stat-label{font-size:11px}.page-heading h1{font-size:27px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.filter-label{flex:1}}
@media(max-width:700px){.layout{display:block}.brand{font-size:20px}nav{flex-direction:row;flex-wrap:wrap;gap:4px;margin-top:19px}.topbar{height:55px;padding:0 20px;font-size:9px;letter-spacing:.7px}.content{padding:26px 18px 0}.page-heading{display:block;margin-bottom:25px}.page-heading h1{font-size:26px}.desktop-break{display:none}.page-heading button{margin-top:22px;width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:29px}.stat{padding:17px}.stat strong{font-size:31px}.stat-label{margin-bottom:13px}.card-grid{gap:12px}.kit-body{padding:14px}.kit-body h3{font-size:13px}.kit-art{height:85px;padding:14px}.grade-art{font-size:30px}.box-art{width:45px;height:45px}.kit-actions{display:block}.kit-actions button{width:100%;margin-top:6px}.collection-heading h2{font-size:17px}.collection-heading p{font-size:10px}.count-label{font-size:10px}.toolbar{gap:8px}.filter-label select{font-size:11px;padding:10px 8px}.page-footer{font-size:9px}.auth-card{padding:27px}.form-grid{gap:13px}dialog{padding:21px}.item-row{padding:12px}.dialog-top h2{font-size:19px}}
@media(max-width:380px){.card-grid{grid-template-columns:1fr}.kit-actions{display:flex}.kit-actions button{width:auto;margin:0}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.first-label{margin-top:0}.manual-use{margin-top:14px}.choice-empty{padding:12px}
.series-setting-row{padding:14px;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;background:#f6f9fb}.series-setting-row label{font-size:12px;font-weight:700}.series-setting-row input{background:white;width:100%;min-width:0}.series-setting-row .classification-order{margin-top:8px;flex-wrap:wrap}.series-setting-row button{font-size:12px}
.classification-toolbar{position:sticky;top:-21px;z-index:2;display:flex;justify-content:space-between;gap:10px;padding:12px 0;background:white;border-bottom:1px solid var(--line);margin-bottom:16px}.classification-group{border:1px solid #c9dcd5;border-radius:12px;margin-bottom:18px;overflow:hidden}.classification-parent{padding:16px;background:#eef6f2}.classification-parent>label{font-size:12px;font-weight:700}.classification-parent>label input{font-size:18px;font-weight:700;background:white}.classification-children{padding:12px 16px 16px 25px;border-left:3px solid #b1d2c4;margin-left:16px}.classification-child-title{font-size:11px;font-weight:700;color:var(--muted);margin:0 0 8px}.classification-child{margin:0 0 9px;min-width:0}.classification-child input{background:#fff}.classification-more{margin-top:5px;font-size:11px;color:var(--muted)}.classification-more summary{cursor:pointer;min-height:32px;display:list-item;margin-left:14px;padding:6px 0}.classification-more[open]{padding-bottom:8px}.classification-more label{font-size:11px}.classification-more .classification-order{margin:7px 0}.classification-empty{margin:8px 0 12px}.classification-children>button{margin:4px 0 12px;width:100%;border-style:dashed}.classification-group label{min-width:0}.classification-group input,.classification-group select{min-width:0;width:100%}@media(max-width:700px){.classification-parent{padding:12px}.classification-children{margin-left:10px;padding:12px}.classification-toolbar button{font-size:12px;padding:10px}.classification-parent>label input{font-size:17px}}
.classification-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 12px;min-width:0}.classification-row legend{font-size:12px;font-weight:700}.classification-row label{min-width:0}.classification-order{grid-column:1/-1;display:flex;gap:8px}.classification-order button{min-height:44px}@media(max-width:700px){.classification-row{grid-template-columns:1fr}.classification-row input,.classification-row select{width:100%;min-width:0}}

.saved-photo{position:relative;display:block;width:100%;overflow:hidden;padding:0;background:#eaf0ee;border:0;text-align:center;border-radius:10px}.saved-photo img{display:block;width:100%;height:100%;object-fit:contain}.card-photo{height:180px;border-radius:0}.photo-caption{position:absolute;right:8px;bottom:8px;padding:5px 8px;background:#142d39e8;color:white;border-radius:6px;font-size:11px}.photo-load-error{display:block;padding:20px 12px;font-size:12px;line-height:1.7}.detail-photo{max-width:320px;height:180px;margin:12px 0}.item-row>div{min-width:0;flex:1}#photo-viewer{width:min(960px,calc(100% - 24px));max-width:960px}#photo-viewer .dialog-top{align-items:flex-start}#photo-viewer-title{overflow-wrap:anywhere;min-width:0}#close-photo-viewer{flex-shrink:0}#saved-photo-image{display:block;width:100%;max-height:75vh;object-fit:contain;background:#eaf0ee;border-radius:8px}@media(max-width:700px){.card-photo{height:140px}.detail-photo{height:150px}#photo-viewer{padding:16px}#saved-photo-image{max-height:70vh}}

.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}.product-tag{min-height:44px;max-width:100%;padding:7px 10px;border-radius:16px;font-size:11px;text-align:left;overflow-wrap:anywhere;background:#edf6f2;color:#12665e;border-color:#c6dfd6}.product-tag.series{background:#edf2fa;color:#344e78;border-color:#d4deef}.tag-edit{font-size:11px;padding:6px 9px;margin:0 0 10px}.toolbar{flex-wrap:wrap}.filter-label{min-width:0}.filter-label select{max-width:100%}#series-filter{max-width:280px}@media(max-width:700px){.toolbar>.filter-label{flex:1 1 42%;max-width:100%}.toolbar>.filter-label select{width:100%}.toolbar>button{width:100%}#series-filter{max-width:100%}}

.grade-fields{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px}.grade-fields legend{font-size:12px;font-weight:700}.grade-fields label{min-width:0}.tag-path{align-self:center;color:var(--muted)}.product-tag.grade-detail{background:#f7f9f7;color:#34584e}.filter-label select{max-width:270px}@media(max-width:700px){.grade-fields .form-grid{grid-template-columns:1fr}.filter-label select{max-width:100%}}
.display-switch{display:flex;justify-content:flex-end;gap:4px;margin:-6px 0 16px}.display-switch button{min-height:44px;padding:9px 15px;font-size:12px;background:#fff}.display-switch button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.kit-name-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.kit-name-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px}.kit-name-row+.kit-name-row{border-top:1px solid var(--line)}.kit-name-content{min-width:0;flex:1}.kit-name-button{display:block;min-height:44px;max-width:100%;text-align:left;font-size:15px;line-height:1.6;overflow-wrap:anywhere;border:0;padding:5px 0;background:transparent;color:var(--navy)}.kit-name-button:hover{text-decoration:underline;color:var(--teal)}.kit-name-meta{margin:0 0 7px;font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.kit-name-row .badges{margin:0}.kit-name-count{flex-shrink:0;white-space:nowrap;font-size:11px;color:var(--muted)}.kit-name-count strong{font-size:20px;color:var(--navy);margin:0 3px}@media(max-width:700px){.display-switch{justify-content:stretch}.display-switch button{flex:1}.kit-name-row{padding:12px;gap:10px;align-items:flex-start}.kit-name-button{font-size:14px}.kit-name-count{padding-top:13px}.kit-name-count strong{font-size:18px}}
[data-product-detail]{cursor:pointer}[data-product-detail]:hover{box-shadow:0 3px 14px #142d3914}.kit-title-button{font:inherit;font-weight:inherit;text-align:left;border:0;background:transparent;padding:0;line-height:inherit;max-width:100%;overflow-wrap:anywhere}.kit-title-button:hover{text-decoration:underline;color:var(--teal)}#kit-detail{max-width:960px;margin:0 auto}#kit-detail-title{overflow-wrap:anywhere;line-height:1.5}.detail-back{margin-bottom:24px}.kit-detail-summary{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:white;margin-bottom:28px}.kit-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 20px}.kit-detail-fields dt{font-size:11px;color:var(--muted);margin-bottom:4px}.kit-detail-fields dd{margin:0;font-size:14px;overflow-wrap:anywhere}#kit-detail .item-row{background:white}#kit-detail .item-row h3{font-size:15px;margin:0 0 9px}@media(max-width:700px){.kit-detail-fields{grid-template-columns:1fr;gap:12px}.kit-detail-summary{padding:16px}#kit-detail-title{font-size:25px}#kit-detail .item-row{align-items:flex-start}#kit-detail .detail-photo{height:200px}}
/* Photo recognition: icon-only action, with an accessible name on the button. */
.recognize-button{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;padding:12px;border-radius:16px;background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 3px 8px #183e2920}
.recognize-button:hover:not(:disabled){background:#174f42;border-color:#174f42}
.recognize-button:disabled{background:#e4eae7;border-color:#d5dfd9;color:#708079;opacity:1;box-shadow:none}
.recognize-button svg{width:38px;height:38px;pointer-events:none}
.recognize-button .recognize-spinner{display:none}
.recognize-button[aria-busy="true"] .recognize-icon{display:none}
.recognize-button[aria-busy="true"] .recognize-spinner{display:block;animation:recognize-turn 1s linear infinite}
@keyframes recognize-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.recognize-button[aria-busy="true"] .recognize-spinner{animation:none}}
.kit-detail-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 14px}.kit-detail-heading h1{flex:1;min-width:0;margin:0}.kit-heading-actions{display:flex;gap:8px;flex-shrink:0}.kit-heading-actions button{min-height:44px;padding:10px 14px}.danger-outline{color:#a52c31;border-color:#ddb8bb;background:#fff}.danger-outline:hover:not(:disabled){background:#fff1f2}.danger-button{background:#a52c31;border-color:#a52c31;color:#fff}.danger-button:hover:not(:disabled){background:#862328}.danger-button:disabled{opacity:.5}
.completion-photo-section{padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:20px 0}.completion-photo-section h2{font-size:18px;margin:0 0 14px}.completion-photo-section>.saved-photo{display:block;width:100%;height:280px;margin-bottom:14px}.completion-photo-section>button:not(.saved-photo){min-height:44px}

/* Keep registration within reach while scrolling, with space below the list. */
#add-button{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;width:auto;max-width:calc(100vw - 32px);min-height:52px;margin:0;border-radius:28px;padding:14px 22px;box-shadow:0 5px 20px #142d3933}
.content{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
@media(max-width:700px){#add-button{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));font-size:13px}}

.official-image-picture{display:block;width:100%;padding:0;border:0;background:#eaf0ee;overflow:hidden}.official-image-picture img{display:block;width:100%;height:100%;object-fit:contain}.official-image>a{display:block;padding:8px 12px;font-size:11px}.official-photo-section{margin:24px 0}.official-image-error{padding:20px;display:block}.page-heading{margin-bottom:18px}.page-heading h1{font-size:26px;line-height:1.3;margin:0}.stat{padding:16px 18px}.stat-label{margin-bottom:8px}.stat strong{font-size:30px}.stats{margin-bottom:24px}.topbar{letter-spacing:0}.collection-heading{margin-bottom:16px}.dialog-top{margin-bottom:18px}.photo-panel p:empty{display:none}
#add-button.image-action{width:76px;height:76px;min-height:76px;padding:5px;border-radius:22px;background:#e9f5f1;border:1px solid #a6c9bc;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 18px #142d3933}
#add-button.image-action img{display:block;width:64px;height:64px;object-fit:contain;pointer-events:none}
#add-button.image-action:hover{background:#d9ece5;transform:translateY(-2px)}
.recognize-button{width:76px;height:76px;padding:6px;background:#e9f5f1;border-color:#a6c9bc}.recognize-button .recognize-icon{display:block;width:60px;height:60px;object-fit:contain;pointer-events:none}.recognize-button:disabled .recognize-icon{filter:grayscale(1);opacity:.4}.recognize-button:hover:not(:disabled){background:#d9ece5}.recognize-button[aria-busy="true"] .recognize-icon{display:none}.recognize-button[aria-busy="true"]{color:var(--teal)}
@media(max-width:700px){.content{padding-top:18px}.page-heading{margin-bottom:16px}.page-heading h1{font-size:23px}.stat{padding:12px 14px}.stats{gap:8px;margin-bottom:22px}.stat strong{font-size:27px}.stat-label{margin-bottom:5px}.collection-heading h2{font-size:17px}}

.supply-search{display:flex;margin:16px 0 22px}.supply-photo{display:block;border:0;padding:0;width:100%;height:180px;background:#eaf0ee;border-radius:0}.supply-photo img{width:100%;height:100%;object-fit:contain}.supply-placeholder{display:grid;place-items:center;height:130px;font-size:48px;background:#eaf0ee;color:var(--teal)}.supply-actions{display:flex;gap:8px;margin-top:14px}.supply-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.supply-card .kit-meta:empty{display:none}#supplies-panel h2{margin:0;font-size:18px}.supply-card .kit-title-button{min-height:44px}

.registration-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px;padding:5px;background:#edf2f0;border-radius:16px}
.registration-tabs button{min-height:48px;border:0;border-radius:12px;background:transparent;color:#42605a;font-weight:700}
.registration-tabs button[aria-pressed="true"]{background:#28685e;color:white;box-shadow:0 2px 6px #143b3026}
.registration-tabs button:focus-visible{outline:3px solid #d0a95b;outline-offset:2px}

.work-card h4{margin:18px 0 8px;font-size:13px}.work-materials{padding-left:18px;margin:0;font-size:13px;overflow-wrap:anywhere}.work-materials li{margin:8px 0}.work-photo{height:240px}#completed-kit-results h2{font-size:18px;margin:32px 0 16px}
.work-picker{min-width:0;margin:24px 0;padding:14px;border:1px solid var(--line);border-radius:14px}.work-picker legend{font-weight:700;padding:0 6px}.work-options{max-height:240px;overflow:auto;margin-top:10px}.material-option{display:flex;align-items:flex-start;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer}.material-option input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}.material-option span{min-width:0;overflow-wrap:anywhere}.material-option small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.paint-use-note{margin-top:16px}#work-form textarea{min-height:85px}.work-card .kit-title-button{min-height:44px}

@media(max-width:700px){#work-results.card-grid,#completed-kit-results .card-grid{grid-template-columns:1fr}.work-photo{height:260px}}

.photo-actions .photo-image-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 76px;width:76px;height:76px;min-height:76px;padding:5px;border-radius:18px;background:#e9f5f1;border:1px solid #a6c9bc;box-shadow:0 3px 10px #142d3914;overflow:hidden}
.photo-image-button img{display:block;width:64px;height:64px;object-fit:contain;border-radius:12px;pointer-events:none}.photo-actions .photo-image-button:hover:not(:disabled){background:#d9ece5;border-color:#177e73}.photo-image-button:focus-visible{outline:3px solid #d0a95b;outline-offset:3px}.photo-image-button:disabled img{filter:grayscale(1);opacity:.5}

/* Compact kit collection and one-tap status filters. */
#stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}
#stats .status-filter{padding:10px 12px;min-height:72px;min-width:0;text-align:left;border-radius:12px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
#stats .status-filter .stat-label{display:block;margin:0 0 4px;font-size:12px;white-space:nowrap}#stats .status-filter strong{font-size:25px;line-height:1.1}#stats .status-filter .unit{font-size:11px;margin-left:5px}
#stats .status-filter[aria-pressed="true"]{background:#e4f2ed;border-color:#177e73;box-shadow:inset 0 -3px #177e73}#stats .status-filter:hover{background:#edf6f2}#stats .status-filter:focus-visible{outline:3px solid #d0a95b;outline-offset:2px}
.compact-kits #results.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.compact-kits #results>.kit-card{display:flex;flex-direction:column}
.compact-kits .card-photo{width:100%;height:auto;aspect-ratio:4/3;max-height:320px;min-height:0;min-width:0;flex:none;border-radius:0;position:relative}.compact-kits .card-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.compact-kits .kit-art{height:180px;flex:none;padding:10px;display:flex;align-items:center;justify-content:center}.compact-kits .kit-art .box-art{display:none}.compact-kits .grade-art{font-size:22px}.compact-kits .scale-art{font-size:10px}
.compact-kits .kit-body{padding:10px 12px;min-width:0}.compact-kits .kit-body h3{margin:0}.compact-kits .kit-title-button{font-size:12px;line-height:1.5;min-height:44px;padding:0}.compact-kits .kit-meta,.compact-kits .kit-actions,.compact-kits .badge.neutral{display:none}
.compact-kits .product-tags{gap:4px;margin:4px 0}.compact-kits .product-tag{padding:6px 8px;font-size:10px;line-height:1.35;min-height:44px;border-radius:10px}.compact-kits .badges{margin:5px 0 0}.compact-kits .official-image{background:#eaf0ee;min-width:0}.compact-kits .official-image{display:flex;flex-direction:column}.compact-kits .official-image .card-photo{height:auto;flex:none;min-height:0}.compact-kits .official-image>a{font-size:10px;padding:6px}
.compact-kits .kit-name-row{padding:8px 12px;gap:10px}.compact-kits .kit-name-button{font-size:13px}.compact-kits .kit-name-meta{margin-bottom:4px}.compact-kits .kit-name-count{font-size:10px}
@media(max-width:900px){.compact-kits #results.card-grid{grid-template-columns:1fr}}
@media(max-width:700px){#stats .status-filter{padding:9px 6px;min-height:66px;text-align:center}#stats .status-filter .stat-label{font-size:10px}#stats .status-filter strong{font-size:23px}.compact-kits .kit-body{padding:8px 10px}.compact-kits .collection-heading{margin-bottom:10px}.compact-kits .kit-name-count{display:none}}

#stats .status-filter .stat-label{color:var(--ink)}#stats .status-filter .unit{color:var(--muted)}#stats .status-filter[aria-pressed="true"] .stat-label{color:#12665e}

/* Illustrated display switch: familiar pictures plus short, readable labels. */
#inventory-display{gap:8px;justify-content:flex-end}
#inventory-display button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;flex:0 1 116px;min-width:100px;min-height:64px;padding:4px 14px 4px 5px;border:2px solid var(--line);border-radius:14px;background:#fffdf8;color:var(--ink);font-size:12px;font-weight:700;box-shadow:none}
#inventory-display button img{width:52px;height:52px;object-fit:contain;border-radius:9px;pointer-events:none}
#inventory-display button[aria-pressed="true"]{border-color:var(--teal);background:#eaf5f1;color:#12665e;box-shadow:0 0 0 1px var(--teal)}
#inventory-display .display-check{position:absolute;right:3px;top:2px;width:16px;height:16px;line-height:16px;border-radius:50%;background:#12665e;color:#fff;font-size:11px;visibility:hidden}
#inventory-display button[aria-pressed="true"] .display-check{visibility:visible}
#inventory-display button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
#inventory-display button:hover{border-color:var(--teal)}

/* Recognition readiness is visible through contrast, text, and disabled behavior. */
.recognize-button{width:auto;min-width:190px;min-height:80px;height:auto;gap:12px;padding:8px 18px 8px 8px;border:3px solid #b6c0be;background:#eef0ef;color:#52615d;box-shadow:none}
.recognize-state-label{font-size:16px;font-weight:800;white-space:nowrap}
.recognize-button[data-state="ready"]{background:#12665e;border-color:#12665e;color:#fff;box-shadow:0 3px 0 #083f3a}
.recognize-button[data-state="ready"]:hover{background:#0d5049;border-color:#0d5049}
.recognize-button[data-state="ready"] .recognize-icon{border-radius:11px;filter:none;opacity:1}
.recognize-button[data-state="blocked"]{border-style:dashed;cursor:not-allowed}
.recognize-button[data-state="busy"]{background:#fff4d8;border-color:#c4a14d;color:#695116;cursor:wait}
.recognize-button[aria-busy="true"] .recognize-spinner{color:#695116;margin:11px}
.recognize-status{margin:10px 0 14px;font-size:13px;line-height:1.6;color:#52615d;font-weight:600}
.recognize-status[data-state="ready"]{color:#12665e}
.recognize-button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

.badge.build-state{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:700}.build-state-label{font-size:10px;font-weight:500;opacity:.85}.compact-kits .kit-body>.badges{margin-top:8px}

/* Keep search and ordering handy; unfold the less-used filters on demand. */
.compact-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.compact-toolbar>.search{flex:1 1 260px;min-width:0;margin:0}
.filter-quick-row{display:flex;gap:8px;flex:0 1 330px;min-width:0}
#filter-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:116px;padding:8px 10px;font-size:12px;white-space:nowrap}
#filter-toggle.has-filters{background:#e8f4ef;border-color:var(--teal);color:#12665e}
#filter-toggle[aria-expanded="true"] .filter-chevron{transform:rotate(180deg)}
.filter-quick-row #kit-sort-control{flex:1;min-width:0;margin:0}
.filter-quick-row select{width:100%;max-width:none;font-size:12px;padding:8px;min-height:44px}
#filter-panel:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex-basis:100%;padding:12px;background:#eef3f1;border:1px solid var(--line);border-radius:10px}
#filter-panel .filter-label{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0}
#filter-panel .filter-caption{font-size:11px;color:var(--muted)}
#filter-panel select{width:100%;max-width:none;font-size:12px}
#filter-panel>button{grid-column:1/-1;justify-self:end;font-size:12px;min-height:44px;padding:8px 12px}
@media(max-width:700px){.compact-toolbar>.search{flex-basis:100%}.filter-quick-row{flex:1 1 100%}.compact-toolbar{margin-bottom:14px}#filter-panel{gap:8px}#filter-panel select{font-size:11px;padding:8px}#filter-panel>button{width:auto}}

/* A single tight row for result count and illustrated view controls. */
.compact-kits .collection-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.compact-kits .collection-heading{margin:0;gap:0}
.compact-kits .collection-heading>div{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.compact-kits #inventory-display{margin:0;flex-shrink:0}
#stats{margin-bottom:8px}

/* Tighter page chrome and collection spacing{padding:18px 14px}
.topbar{height:40px;padding:0 16px}
.content{padding:12px 16px calc(88px + env(safe-area-inset-bottom))}
.page-heading{gap:12px;margin-bottom:10px}
.page-heading h1{font-size:23px}
.page-footer{margin-top:16px;padding:12px 0}
.compact-kits #results.card-grid{gap:8px}
.compact-kits .kit-body{padding:6px 9px}
.compact-kits .kit-name-row{padding:6px 9px;gap:8px}
.compact-kits .collection-controls{margin-bottom:6px}
.compact-toolbar{gap:6px;margin-bottom:10px}
@media(max-width:700px){
 .topbar{height:32px;padding:0 10px}
 .content{padding:8px 10px calc(88px + env(safe-area-inset-bottom))}
 .page-heading{margin-bottom:8px}
 .page-heading h1{font-size:21px}
 .compact-kits .kit-body{padding:5px 8px}
}

/* The camera preview and capture share the same centered frame. */
.camera-orientation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.camera-orientation>span{font-size:12px;margin-right:2px}
.camera-orientation button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:72px;padding:8px 12px;font-size:13px;border:2px solid var(--line)}
.camera-orientation button[aria-pressed="true"]{background:#e4f2ed;color:#12665e;border-color:#177e73}
.orientation-icon{display:inline-block;border:2px solid currentColor;border-radius:3px;flex:none}
.orientation-icon.portrait{width:15px;height:20px}.orientation-icon.landscape{width:20px;height:15px}
.photo-panel #camera-video{display:block;object-fit:cover;object-position:center;height:auto;max-height:none;margin:12px auto;aspect-ratio:4/3;width:min(100%,480px)}
.photo-panel #camera-video[data-orientation="portrait"]{aspect-ratio:3/4;width:min(100%,300px)}
.photo-panel #camera-video[hidden]{display:none}

.recognition-model-label{display:block;margin:14px 0 10px;font-size:12px}.recognition-model-label select{width:100%;min-height:44px;margin-top:6px}

/* Account and plan controls */
.commercial-card{grid-column:1/-1}.commercial-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}.plan-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.plan-price{font-size:2rem;font-weight:700}.plan-price small{display:block;font-size:.85rem;font-weight:400}.usage-table{width:100%;border-collapse:collapse;font-size:.88rem}.usage-table th,.usage-table td{text-align:left;padding:10px 6px;border-bottom:1px solid #d8e1e5;overflow-wrap:anywhere}.usage-table caption{text-align:left;font-weight:700;padding:12px 0}#auth .auth-card>button{margin-top:10px;width:100%}#signup-terms,#delete-result{font-size:.9rem}#signup-terms input{width:auto;min-height:24px}#commercial-links{font-size:.8rem;line-height:1.8}.commercial-card [role=alert]{color:#a52b25}@media(max-width:480px){.usage-table{font-size:.78rem}.usage-table th,.usage-table td{padding:8px 4px}.commercial-actions>button{flex:1 1 42%}}

.legal-page{max-width:760px;margin:24px auto;padding:20px;line-height:1.8}.legal-page h2{font-size:1.1rem;margin-top:24px}.ad-label{font-weight:700;border-left:4px solid #975d12;padding-left:8px}.affiliate-offers{margin-top:24px}
.settings-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:6px;background:#e8efec;border-radius:13px;position:relative}.settings-nav button{flex:1 1 auto;background:transparent;border-color:transparent;font-size:13px}.settings-nav button[aria-pressed=true]{background:white;color:var(--teal);box-shadow:0 2px 7px #16352d12}.settings-section{max-width:1000px}.management-form{display:grid;gap:16px;max-width:850px}.management-form>button{justify-self:start}.management-form>.hint,.management-form>.consent,.management-feedback{margin:0}.management-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.management-feedback{font-size:13px;color:var(--teal)!important;overflow-wrap:anywhere}.management-feedback.error{color:var(--danger)!important}.account-identity{font-size:17px!important;font-weight:650;color:var(--ink)!important;overflow-wrap:anywhere}.data-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.data-counts>div{background:var(--bg);border-radius:10px;padding:16px}.data-counts dt{font-size:12px;color:var(--muted)}.data-counts dd{font-size:28px;font-weight:700;margin:8px 0 0}.data-counts small{font-size:11px;display:inline;margin-left:6px;font-weight:400}.management-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}.connection-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.management-table-scroll{max-width:100%;overflow-x:auto}.management-table-scroll input{min-width:75px;max-width:160px}.management-table-scroll td{overflow-wrap:anywhere}.management-table-scroll table{min-width:270px}.management-table-scroll caption{text-align:left;margin-bottom:12px;font-size:13px;font-weight:600}.management-form input[type=password]{max-width:520px}.settings-section .settings-card{overflow-wrap:anywhere}@media(max-width:600px){.settings-nav{gap:3px}.settings-nav button{flex:1 1 29%;padding:10px 6px}.management-field-grid{grid-template-columns:1fr}.data-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-section .settings-card{padding:19px}.management-table-scroll th,.management-table-scroll td{padding:9px 5px}.management-form>button{width:100%;justify-self:stretch}}

.management-table-scroll th{white-space:nowrap}

/* Account entry: persistent modes and separate success/error feedback. */
.account-modes{display:flex;gap:4px;padding:4px;margin-bottom:24px;border-radius:12px;background:#edf3f1}.account-modes button{flex:1;border-color:transparent;background:transparent}.account-modes button[aria-pressed=true]{background:#fff;color:var(--teal);box-shadow:0 1px 5px #142d3920}.auth-card .auth-status,.auth-card .auth-notice{padding:12px 14px;border-radius:9px;margin:16px 0 0;overflow-wrap:anywhere}.auth-card .auth-status{background:#eaf5ef;color:#245d47}.auth-status:empty{display:none}.auth-card .auth-notice{background:#f2f4f5;color:var(--ink)}.auth-card #signup-terms{margin:0;font-size:12px;font-weight:400;align-items:flex-start}.auth-card #signup-terms input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin-top:3px}.auth-card #commercial-links{margin:20px 0 0}.auth-card #auth-description{margin-bottom:0}.auth-card #password-hint{margin-top:6px}.auth-card #auth-title{outline-offset:5px}@media(max-width:480px){.auth-shell{padding:18px}.auth-card{padding:25px}.auth-card .brand{margin-bottom:25px}.auth-card h1{font-size:22px}.account-modes{margin-bottom:20px}}
/* Latest user flows: notices, points, comparison and support. */
/* Off-viewport fixed links can appear in full-page captures at a scrolled offset.
   Clip the idle link as well; keyboard focus restores the existing visible style. */
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
#welcome-intro h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.35;letter-spacing:-.03em}
#welcome-intro ul{padding-left:1.3rem;line-height:1.9}#welcome-intro button{margin-top:.75rem}#welcome-intro .eyebrow{color:#376858;font-weight:700}
.flow-notice{margin:0 0 1.2rem;padding:1.2rem;border:1px solid #bbd5c7;border-radius:16px;background:#f0f7f2}.flow-notice h2{margin:0 0 .5rem;font-size:1.15rem}.flow-notice p{margin:.4rem 0}.flow-notice button{margin:.5rem .4rem 0 0}
.storage-usage{font-size:.9rem;color:#4e635b;line-height:1.6}.shop-check{display:flex;align-items:center;gap:1rem;margin:.8rem 0}.shop-check p{flex:1;margin:0;font-size:.9rem;color:#5b6a63}.shop-check button{flex-shrink:0}
.points-balance{background:#eef5f1;border-radius:14px;padding:1.1rem;margin:1rem 0}.points-balance>strong{font-size:2rem;color:#1a5143}.points-balance small{font-size:.9rem;font-weight:500}.points-balance dl{display:grid;gap:.6rem;margin:.8rem 0 0}.points-balance dl>div{display:flex;justify-content:space-between;gap:1rem}.points-balance dt{color:#465a52}.points-balance dd{margin:0;text-align:right}
.plan-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.plan-choices section{border:1px solid #cad6cf;border-radius:12px;padding:1rem;overflow-wrap:anywhere}.plan-choices h3{margin-top:0}.plan-choices p{font-size:.9rem;line-height:1.6}.plan-choices button{width:100%}.checkout-confirm{border:2px solid #568575;border-radius:12px;padding:1rem;margin-top:1rem}.checkout-confirm button{margin:.5rem .5rem 0 0}.lookup-match,.support-ticket{border:1px solid #d0dcd5;border-radius:12px;padding:1rem;margin:1rem 0;overflow-wrap:anywhere}.support-ticket h4{margin:0}.support-reply{margin-top:.75rem;background:#f1f5f2;padding:.9rem;border-left:3px solid #719a86}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.supply-detail{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem}.supply-detail dd{margin:0}.affiliate-offers li{margin:.6rem 0}.affiliate-offers .ad-label{font-size:.8rem;font-weight:700}.saved-kit{outline:3px solid #69a187;outline-offset:3px}
@media(max-width:680px){.plan-choices{grid-template-columns:1fr}.shop-check{align-items:stretch;flex-direction:column;gap:.5rem}.points-balance dl>div{display:block}.points-balance dd{text-align:left;margin:.2rem 0}.flow-notice button{max-width:100%;white-space:normal}.commercial-actions{display:flex;flex-wrap:wrap;gap:.5rem}.plan-summary{flex-wrap:wrap}.support-ticket{padding:.75rem}}

/* Compact controls for the five collection pages. */
.inline-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin:.5rem 0}.inline-status select{width:auto;min-width:7rem;padding:.35rem}.work-album,.work-thumbnails{display:flex;gap:.5rem;flex-wrap:wrap}.work-album figure{margin:0;width:calc(50% - .5rem)}.work-album img{width:100%;height:110px;object-fit:contain;background:#eef3f5}.work-album figcaption{display:flex;gap:.2rem;flex-wrap:wrap;font-size:.75rem}.work-album button{padding:.25rem;font-size:.75rem}.work-thumbnails{padding:.5rem}.work-thumbnails button{padding:0;width:64px;height:64px}.work-thumbnails img{width:100%;height:100%;object-fit:contain}.intro-preview{max-width:270px;margin:1rem auto;padding:.8rem;border:6px solid #173443;border-radius:22px;background:#fff;text-align:left;color:#173443}.intro-preview figcaption{font-size:.75rem;margin-bottom:.5rem}.intro-sample-photo{height:130px;background:linear-gradient(135deg,#d5e7e8,#f3f6f7);display:grid;place-items:center;margin-bottom:.5rem;border-radius:8px}.intro-sample-photo span{font-size:6rem;color:#257579}.intro-preview p{margin:.3rem 0}.supply-card [aria-pressed=true]{background:#d7efea;color:#165d55}

/* Editable, local-only SNS drafts. */
.kit-heading-actions{flex-wrap:wrap}.social-options{display:flex;flex-wrap:wrap;gap:0 18px}.social-output-label{display:block;margin-top:20px}.social-composer textarea{display:block;width:100%;min-height:190px;line-height:1.8;resize:vertical;margin-top:8px}.social-composer .form-actions{margin-top:16px}@media(max-width:600px){.kit-heading-actions{width:100%}.social-composer .form-grid{grid-template-columns:1fr}.social-composer .form-actions button{width:100%}}
.social-templates{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line);min-width:0}
.social-templates>.hint{margin:8px 0 12px}
#social-template-editor{display:grid;gap:14px;min-width:0}
#social-template-editor .hint{margin:0}
.social-template-tokens,.social-template-actions{display:flex;gap:8px;flex-wrap:wrap}
.social-template-tokens button{padding:7px 10px;font-size:12px;font-weight:500}
.social-confirm{margin:14px 0;padding:16px;background:#f4f7f6;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}
.social-confirm p{margin-bottom:10px}
#social-template-message{margin:12px 0 0;overflow-wrap:anywhere}
.social-templates select{max-width:100%;text-overflow:ellipsis}
@media(max-width:600px){.social-template-actions button{flex:1 1 150px}.social-templates{padding-bottom:14px}.social-confirm{padding:12px}}
/* Paint estimates: large preset targets and a keyboard-operable native slider. */
.paint-remaining-summary{display:grid;gap:7px;margin:10px 0}
.paint-remaining-summary meter{width:100%;height:14px;accent-color:#176c64}
.paint-remaining-summary small{color:#606963;font-size:.75rem}
.paint-remaining-editor{min-width:0;margin:14px 0;padding:16px;border:1px solid #d6e1d8;border-radius:14px;background:#f7faf6}
.paint-remaining-editor legend{padding:0 6px;font-weight:700;font-size:.9rem}
.paint-remaining-preview{display:flex;align-items:center;gap:20px;margin:6px 0 20px}
.paint-remaining-value{font-size:1.2rem;font-weight:700;color:#215a50}
.paint-bottle{position:relative;flex:none;width:44px;height:64px;border:2px solid #58796c;border-radius:8px 8px 12px 12px;background:white;overflow:hidden}
.paint-bottle span{position:absolute;bottom:0;left:0;width:100%;background:#3c8b76}
.paint-remaining-slider{display:grid;gap:6px;margin-top:18px;font-size:.8rem}
.paint-remaining-slider input[type=range]{width:100%;min-height:44px;padding:0;accent-color:#215a50;cursor:pointer}
.paint-remaining-clear{margin:8px 0;min-height:44px;font-size:.8rem}
.paint-remaining-history{margin:18px 0}
.paint-remaining-history summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700}
.paint-remaining-history ol{padding:0;list-style:none;max-height:260px;overflow:auto}
.paint-remaining-history li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #dce5df;font-size:.85rem}
.paint-remaining-history time{font-size:.75rem;color:#606963}

.paint-remaining-slider input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;border:0;box-shadow:none}
.paint-remaining-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(to right,#287762 0 var(--paint-percent),#cedcd3 var(--paint-percent) 100%)}
.paint-remaining-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;border:3px solid white;background:#215a50;box-shadow:0 0 0 2px #215a50;cursor:grab}
.paint-remaining-slider input[type=range]::-moz-range-track{height:8px;border-radius:8px;background:#cedcd3}
.paint-remaining-slider input[type=range]::-moz-range-progress{height:8px;background:#287762}
.paint-remaining-slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:3px solid white;background:#215a50;box-shadow:0 0 0 2px #215a50;cursor:grab}
.paint-remaining-slider input[type=range]:focus-visible{outline:3px solid #215a50;outline-offset:4px;border-radius:4px}
.paint-step-markers{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#426256;margin:10px 0 10px;padding:0 3px}

.paint-remaining-editor[data-percent=""] .paint-bottle{border-style:dashed;background:#edf1ee}
.paint-remaining-editor[data-percent=""] input[type=range]::-webkit-slider-runnable-track{background:#cedcd3}
.paint-remaining-editor[data-percent=""] input[type=range]::-webkit-slider-thumb{background:#64756d;box-shadow:0 0 0 2px #64756d}
.paint-remaining-editor[data-percent=""] input[type=range]::-moz-range-progress{background:#cedcd3}
.paint-remaining-editor[data-percent=""] input[type=range]::-moz-range-thumb{background:#64756d;box-shadow:0 0 0 2px #64756d}

/* Home: the collection and the next small step, using the existing palette. */
.home-actions{margin:0 0 14px}.home-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.home-quick-actions button{font-size:12px;min-height:46px;padding:10px 14px}
.home-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.home-overview button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:16px;border-radius:12px;background:#fff;text-align:left}
.home-overview button:first-child{background:var(--navy);border-color:var(--navy);color:white}
.home-overview button>span{font-size:12px}.home-overview strong{font-size:28px;line-height:1.2;white-space:nowrap}.home-overview small{font-size:11px;font-weight:400}
.home-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.home-section{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.home-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.home-section-heading>div{min-width:0}.home-section h2{font-size:18px;line-height:1.5;margin:0 0 5px}.home-section-heading p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}
.home-section-heading>button{flex-shrink:0;font-size:11px;min-height:44px;padding:6px 9px;background:#f3f7f5}
.home-kit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-kit{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.home-photo{height:125px;background:#edf3f1;display:grid;place-items:center;color:#799c90;overflow:hidden}
.home-photo>span:not(.home-photo-error){font-size:42px}.home-photo img{display:block;width:100%;height:100%;object-fit:contain}.home-photo-error{font-size:11px;padding:12px;text-align:center}
.home-kit-body{padding:12px}.home-section h3{margin:0 0 4px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.home-section h3 button{font:inherit;font-weight:700;line-height:inherit;color:var(--navy);padding:2px 0;border:0;background:transparent;text-align:left;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.home-section h3 button:hover{color:var(--teal);text-decoration:underline}
.home-kit-body p,.home-work p,.home-paint-info>p{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}
.home-kit-body small{display:block;font-size:10px;color:var(--muted);margin:8px 0 0}
.home-paint{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.home-paint:first-child{padding-top:0}.home-paint:last-child{border-bottom:0;padding-bottom:0}.home-paint-info{min-width:0;flex:1}.home-paint>button{font-size:11px;min-height:44px;padding:8px;flex-shrink:0}
.home-paint .paint-remaining-summary{margin:8px 0 0}.home-paint .paint-remaining-summary small{display:none}.home-paint-empty{background:#fff0de;color:#825017}
.home-section-note{font-size:11px;line-height:1.8;color:var(--muted);margin:8px 0 0}.home-section-note summary{min-height:44px;padding:12px 0;cursor:pointer}.home-section-note p{margin:0 0 8px}.home-more-paints{font-size:11px;color:var(--muted);margin:8px 0 0}
.home-building-list,.home-works-list{display:grid;gap:12px}.home-kit-compact{display:grid;grid-template-columns:86px minmax(0,1fr)}.home-kit-compact .home-photo{height:100%;min-height:110px}.home-kit-compact .home-kit-body{padding:8px 12px}
.home-work{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.home-work:last-child{border-bottom:0;padding-bottom:0}.home-work .home-photo{height:76px;border-radius:9px}.home-work p{margin-bottom:0}
.home-empty{grid-column:1/-1;padding:24px 16px;text-align:center;background:#f6f9f7;border:1px dashed #c9d9d1;border-radius:10px;font-size:12px;line-height:1.9;color:#496359}.home-empty p{margin:0 0 12px}.home-empty p:last-child{margin-bottom:0}.home-empty button{min-height:44px;font-size:12px;margin-top:4px}
@media(max-width:1100px){.home-dashboard-grid{grid-template-columns:1fr}.home-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.home-overview button{flex-direction:column;align-items:flex-start;padding:13px}.home-kit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.home-overview{gap:7px;margin-bottom:20px}.home-overview button{padding:11px 7px;align-items:center}.home-overview button>span{font-size:10px}.home-overview strong{font-size:24px}.home-section{padding:15px}.home-section h2{font-size:17px}.home-section-heading{gap:7px}.home-section-heading>button{font-size:10px;padding:6px}.home-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-photo{height:110px}.home-kit-body{padding:10px}.home-paint{gap:7px}.home-paint>button{font-size:10px}.home-dashboard-grid{gap:16px}}

/* Shared footer: compact links in normal document flow. */
.site-footer{margin-top:24px;padding:12px 0 0;border-top:1px solid #cbdad3;color:#435d54}
.site-footer-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;padding-bottom:8px}
.site-footer-about{min-width:0}.site-footer-brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#173d34;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:1px}
.site-footer-brand img{flex-shrink:0}.site-footer-brand small{display:block;margin-top:2px;color:#435d54;font-size:10px;font-weight:500;letter-spacing:0}
.site-footer .site-footer-nav{display:block;min-width:0;margin:0}.site-footer-nav ul{display:flex;flex-wrap:wrap;gap:0 18px;margin:0;padding:0;list-style:none}
.site-footer-nav li{min-width:0}.site-footer-nav a{display:flex;align-items:center;gap:6px;min-height:44px;width:fit-content;max-width:100%;padding:8px 0;color:#435d54;font-size:12px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
#footer-legal{flex-basis:100%}.site-footer-external{flex-shrink:0;font-size:14px}
.site-footer a:hover{color:#12665e;text-decoration:underline;text-underline-offset:4px}.site-footer a:focus-visible{outline:3px solid #177e73;outline-offset:4px;border-radius:3px}
.site-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;border-top:1px solid #dce5e5;padding:10px 0;font-size:11px;line-height:1.8}.site-footer-bottom small{font-size:inherit}.site-footer-bottom #last-sync{overflow-wrap:anywhere}
@media(max-width:700px){.site-footer{margin-top:20px}.site-footer-main{gap:4px 16px}.site-footer-nav{flex-basis:100%}.site-footer-nav ul{gap:0 16px}.site-footer-bottom{flex-direction:column;gap:2px}}.topbar-location{display:flex;align-items:center;gap:12px;min-width:0}
@media(max-width:700px){
 .topbar{position:sticky;top:0;z-index:25;min-height:60px;height:auto;padding:8px 12px;background:#f8faf9;gap:10px;box-sizing:border-box}
 .topbar-location{gap:10px}#breadcrumb{font-size:12px;white-space:nowrap}.topbar .sync-status{min-height:44px;font-size:10px;white-space:nowrap}
}

/* Keep the app name visible while the mobile navigation is closed. */
.topbar-brand{display:none}
@media(max-width:700px){
 .topbar-location{flex:1;min-width:0;gap:8px}
 .topbar-identity{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}
 .topbar-brand{display:block;color:var(--navy);font-size:15px;font-weight:800;letter-spacing:.6px;white-space:nowrap}
 .topbar-identity #breadcrumb{font-size:10px;color:var(--muted)}
 .topbar .sync-status{flex-shrink:1;max-width:112px;white-space:normal;text-align:left}
}

/* Each registration method has its own page; inputs stay mounted when switching. */
.registration-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
.registration-modes button{min-height:48px;font-weight:700;border:1px solid #aabeb7}
.registration-modes button[aria-pressed="true"]{background:#28685e;color:#fff;border-color:#28685e}
.registration-modes button:focus-visible{outline:3px solid #d0a95b;outline-offset:2px}
#registration-help{margin:0 0 12px}
#editor[data-registration-mode] .registration-tabs{margin-bottom:16px}
#editor[data-registration-mode] .registration-tabs button{padding:10px 6px;white-space:nowrap}
#registration-photo>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
#registration-photo:not([open]){margin-bottom:16px}
#editor[data-registration-mode] .manual{margin-top:12px}
#editor[data-registration-mode] .manual>summary{min-height:44px;padding:8px 0}
