:root{--warm-bg: #f7efe2;--warm-bg-soft: #fbf6ec;--warm-surface: #fffaf2;--warm-surface-strong: #ffffff;--warm-surface-muted: #f3e6d2;--warm-border: #ead8c1;--warm-border-strong: #d8b98d;--warm-text: #2d241b;--warm-muted: #7f6c55;--warm-primary: #b86b28;--warm-primary-strong: #9f5620;--warm-primary-soft: #fff0d8;--warm-button-border: #bd854d;--warm-button-border-strong: #9f5620;--warm-button-bg: #fff8ef;--warm-button-hover: #ffe9c8;--warm-button-text: #623818;--warm-accent: #2f6f5e;--warm-shadow: rgba(111, 79, 42, .12);color:var(--warm-text);background:var(--warm-bg);font-family:Inter,Microsoft YaHei,PingFang SC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.shell{min-height:100vh;padding:24px}.site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px;justify-content:center;padding:8px 0 0;color:#617089;font-size:11px;line-height:1.2}.site-footer-separator{color:inherit}.site-footer a{align-items:center;color:inherit;display:inline-flex;gap:3px;text-decoration:none}.beian-logo{display:inline-block;flex:0 0 auto;height:12px;width:12px}.site-footer a:hover{color:#276ef1;text-decoration:underline}.app-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px 18px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 16px 50px #2a394e14}.workspace{position:relative;display:grid;grid-template-columns:280px minmax(0,1fr) 220px;gap:18px;min-height:calc(100vh - 232px)}.controls,.preview,.palette{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 16px 50px #2a394e14}.controls,.palette{padding:18px}.brand{display:flex;align-items:center;gap:12px;min-width:270px}.brand-logo{display:block;width:220px;height:auto;flex:0 0 auto}.brand-copy{display:none}.top-nav{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.top-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#35455e;cursor:pointer;font-weight:800;text-decoration:none}.nav-icon{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.top-nav a.selected{background:#276ef1;color:#fff}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#276ef1;color:#fff;font-size:24px;font-weight:800}.text-button{border:0;background:transparent;color:#276ef1;cursor:pointer;font-weight:800}.text-button:disabled{cursor:not-allowed;opacity:.45}.account-user{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.account-panel{display:grid;justify-items:end;gap:4px}.account-actions{display:flex;align-items:center;gap:10px;min-height:42px;padding:6px 8px 6px 12px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;color:#617089;font-size:13px;font-weight:700}.account-user div{display:grid;gap:2px;min-width:0}.account-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#276ef1;color:#fff!important;font-weight:900}.account-user span,.account-user small,.auth-note{color:#617089;font-size:13px}.account-user strong,.account-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-user strong{color:#172033}.account-entry{height:32px;padding:0 14px;border:0;border-radius:8px;background:#276ef1;color:#fff;cursor:pointer;font-weight:800}h1,h2,p{margin:0}h1{font-size:24px}h2{font-size:18px}.brand p,.toolbar p,.hint,.muted{color:#617089;margin-top:4px}.hint{font-size:13px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;padding:3px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.mode-switch button{height:34px;border:0;border-radius:6px;background:transparent;color:#35455e;cursor:pointer;font-weight:800}.mode-switch button.selected{background:#276ef1;color:#fff}.dropzone{display:grid;place-items:center;width:100%;aspect-ratio:1 / .72;margin-bottom:14px;border:2px dashed #aac0d8;border-radius:8px;overflow:hidden;cursor:pointer;background:#f7fafc;color:#4b5d75;font-weight:700}.dropzone.active{border-style:solid}.dropzone input{display:none}.dropzone img{width:100%;height:100%;object-fit:contain;background:#f1f5f9}.create-panel{margin-bottom:14px;padding:14px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.create-panel h2{margin-bottom:12px}.create-panel .field:last-of-type{margin-bottom:12px}.field{margin-bottom:12px}.inline-field{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px}.inline-field label{color:#35455e;font-weight:700}.field-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.field-label label{color:#35455e;font-weight:700}.field-label strong{color:#276ef1}.compact-field-label{margin-bottom:4px}.inline-check{display:inline-flex;align-items:center;gap:6px}.inline-check input{width:16px;height:16px;margin:0;accent-color:#276ef1}.radio-group{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:164px;padding:2px;border:1px solid #d9e2ec;border-radius:7px;background:#f8fafc}.radio-option{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;height:30px;border-radius:5px;color:#35455e;cursor:pointer;font-size:13px;font-weight:800}.radio-option input{width:13px;height:13px;margin:0;accent-color:#276ef1}.radio-option.selected{background:#276ef1;color:#fff}.radio-option.selected input{accent-color:#ffffff}input[type=range]{width:100%;accent-color:#276ef1}.compact-range-field input[type=range]{display:block}select{width:100%;height:36px;padding:0 10px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;color:#172033;font-weight:700}textarea{width:100%;min-height:96px;resize:vertical;padding:10px 12px;border:1px solid #cbd7e5;border-radius:8px;color:#172033;background:#fff;line-height:1.45}input:disabled{opacity:.45}.toggle{display:flex;align-items:center;gap:8px;margin:0;color:#35455e;font-size:13px;font-weight:700}.toggle input{width:16px;height:16px;accent-color:#276ef1}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin:4px 0 14px}.toggle-grid .wide{grid-column:span 1}.primary-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;margin-top:4px}.primary-actions .primary,.primary-actions .secondary,.secondary-actions .secondary{width:100%;min-width:0;padding:0 8px;white-space:nowrap}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;max-width:100%;height:42px;padding:0 18px;border:0;border-radius:8px;cursor:pointer;font-weight:800;white-space:nowrap}.primary{background:#276ef1;color:#fff}.secondary{margin-top:0;background:#e6edf6;color:#1f2c3d}.secondary.compact{margin-top:0;height:36px;padding:0 14px;font-size:13px}.primary.compact{width:auto;height:36px;padding:0 16px;font-size:13px}.secondary.full{width:100%;margin-top:8px}.primary.full{width:100%}.primary:disabled,.secondary:disabled{cursor:not-allowed;opacity:.5}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error{margin-top:14px;color:#b42318;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#17203373}.auth-modal{position:relative;display:grid;gap:18px;width:min(440px,100%);padding:24px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #141c2a47}.confirm-modal{position:relative;display:grid;gap:18px;width:min(420px,100%);padding:24px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #141c2a47}.guide-modal{position:relative;display:grid;gap:18px;width:min(520px,100%);padding:24px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #141c2a47}.guide-modal h2{padding-right:34px}.guide-modal p{margin-top:8px;padding-right:34px;color:#617089;line-height:1.55}.guide-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}.guide-steps li{display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;padding:10px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.guide-steps strong{color:#172033}.guide-steps span{color:#617089;line-height:1.5}.confirm-modal p{margin-top:8px;padding-right:34px;color:#617089;font-size:14px;line-height:1.55}.confirm-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.confirm-actions .primary,.confirm-actions .secondary{min-width:92px}.crop-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.crop-actions-preview{grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.25fr)}.crop-actions .primary,.crop-actions .secondary{width:100%;min-width:0;padding:0 10px;white-space:nowrap}.crop-modal{position:relative;display:grid;gap:14px;width:min(780px,100%);max-height:min(92vh,820px);padding:20px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #141c2a47}.crop-modal h2{margin:0}.crop-modal p{margin-top:6px;color:#617089;font-size:13px;line-height:1.5}.image-confirm-panel{display:grid;gap:12px}.image-confirm-preview{position:relative;display:grid;place-items:center;width:100%;height:min(54vh,460px);min-height:260px;border:1px solid #d9e2ec;border-radius:8px;background:linear-gradient(45deg,#eef3f8 25%,transparent 25%),linear-gradient(-45deg,#eef3f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef3f8 75%),linear-gradient(-45deg,transparent 75%,#eef3f8 75%);background-color:#fff;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;overflow:hidden}.image-confirm-preview img{display:block;max-width:calc(100% - 48px);max-height:calc(100% - 48px);object-fit:contain}.image-size-badge{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border:1px solid rgba(127,63,23,.2);border-radius:7px;background:#fffdf8f0;color:#6f4518;font-size:12px;font-weight:900;box-shadow:0 6px 18px #2a394e1a;pointer-events:none}.image-size-width{top:12px;left:50%;transform:translate(-50%)}.image-size-height{top:50%;right:12px;transform:translateY(-50%) rotate(90deg);transform-origin:center}.image-confirm-info{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.image-confirm-info strong,.image-confirm-info span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-confirm-info strong{color:#172033;font-size:13px}.image-confirm-info span{flex:0 0 auto;color:#617089;font-size:12px;font-weight:800}.crop-stage{position:relative;width:100%;height:min(58vh,480px);min-height:260px;border:1px solid #d9e2ec;border-radius:8px;background:linear-gradient(45deg,#eef3f8 25%,transparent 25%),linear-gradient(-45deg,#eef3f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef3f8 75%),linear-gradient(-45deg,transparent 75%,#eef3f8 75%);background-color:#fff;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.crop-stage img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transition:transform .12s ease;pointer-events:none}.crop-shade{position:absolute;z-index:1;background:#0f172a73;pointer-events:none}.crop-box{position:absolute;z-index:2;border:2px solid #ffffff;box-shadow:0 0 0 1px #b86b28a6,0 12px 28px #0f172a3d;cursor:move;touch-action:none}.crop-box:before,.crop-box:after{position:absolute;inset:33.333% 0 auto;height:1px;background:#ffffffb3;content:""}.crop-box:after{inset:66.666% 0 auto}.crop-handle{position:absolute;z-index:3;width:16px;height:16px;border:2px solid #ffffff;border-radius:999px;background:#b86b28;box-shadow:0 2px 8px #0f172a47}.crop-handle.nw{top:-9px;left:-9px;cursor:nwse-resize}.crop-handle.ne{top:-9px;right:-9px;cursor:nesw-resize}.crop-handle.sw{bottom:-9px;left:-9px;cursor:nesw-resize}.crop-handle.se{right:-9px;bottom:-9px;cursor:nwse-resize}.crop-controls{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;align-items:end;gap:12px}.crop-controls label{display:grid;gap:6px;color:#35455e;font-size:12px;font-weight:900}.crop-controls input,.crop-controls select{width:100%}.crop-size-label{min-height:34px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;color:#35455e;font-size:12px;font-weight:900;white-space:nowrap}.share-modal{width:min(480px,100%)}.export-modal{position:relative;display:grid;gap:18px;width:min(980px,100%);max-height:min(88vh,820px);padding:24px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #141c2a47}.export-modal>div:first-of-type{padding-right:34px}.export-modal p{margin-top:8px;color:#617089;font-size:14px;line-height:1.55}.export-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;min-height:0}.export-options{display:grid;align-content:start;gap:4px;padding:12px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.export-options .field{margin-bottom:10px}.export-options .toggle{margin:6px 0}.export-guide-input{display:grid;grid-template-columns:auto 58px;align-items:center;gap:6px 10px;margin:6px 0;color:#35455e;font-weight:800}.export-select-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:4px 0 8px;color:#35455e;font-weight:800}.export-select-input select{width:100%;height:34px;padding:0 8px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;color:#172033;font-weight:800}.export-guide-input input{width:58px;height:34px;padding:0 8px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;color:#172033;text-align:center;font-weight:800}.export-guide-input small{grid-column:1 / -1;color:#617089;font-size:12px;font-weight:600}.export-preview-panel{display:grid;place-items:center;min-height:360px;max-height:58vh;overflow:auto;padding:12px;border:1px solid #d9e2ec;border-radius:8px;background:#edf2f7;color:#617089;font-weight:800}.export-preview-panel img{display:block;max-width:none;width:min(100%,900px);height:auto;box-shadow:0 10px 32px #141c2a2e}.export-modal .confirm-actions{justify-content:flex-end}.fullscreen-backdrop{z-index:80;display:block;padding:0;background:#fff}.fullscreen-backdrop:fullscreen{background:#fff}.pattern-fullscreen-modal{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;width:100vw;height:100vh;padding:12px;border:0;border-radius:0;background:#fff;box-shadow:none}.pattern-fullscreen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:42px}.pattern-fullscreen-head h2{margin:0;color:#172033;font-size:18px}.pattern-fullscreen-head p{margin:3px 0 0;color:#617089;font-size:13px}.pattern-fullscreen-stats,.pattern-fullscreen-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.pattern-fullscreen-stats span{padding:3px 7px;border:1px solid #e4ebf3;border-radius:999px;background:#f8fafc;color:#35455e;font-size:12px;font-weight:900;white-space:nowrap}.pattern-fullscreen-toolbar{justify-content:flex-start;padding:6px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.pattern-fullscreen-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8px;min-height:0}.pattern-fullscreen-stage{min-width:0;min-height:0;overflow:auto;padding:10px;border:1px solid #d9e2ec;border-radius:8px;background:#edf2f7}.pattern-fullscreen-stage canvas{display:block;max-width:none;background:#fff;box-shadow:0 6px 24px #141c2a1f;cursor:crosshair;touch-action:none}.pattern-fullscreen-colors{display:flex;flex-direction:column;min-width:0;min-height:0;padding:8px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.pattern-fullscreen-colors h3{margin:0 0 6px;color:#172033;font-size:14px}.pattern-fullscreen-color-list{display:grid;align-content:start;gap:5px;min-height:0;overflow:auto}.pattern-fullscreen-color{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:28px;padding:4px 6px;border:1px solid #e4ebf3;border-radius:7px;background:#fff;color:#172033;cursor:pointer;font-size:12px;text-align:left}.pattern-fullscreen-color.selected{border-color:#f97316;box-shadow:inset 0 0 0 1px #f9731652}.pattern-fullscreen-color.done{border-color:#bbf7d0;background:#f0fdf4}.pattern-fullscreen-color .swatch{width:18px;height:18px;border-radius:5px}.pattern-fullscreen-color strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-form{display:grid;gap:12px}.share-form label{display:grid;gap:6px;color:#35455e;font-weight:800}.share-form input,.share-form textarea{width:100%;border:1px solid #cbd7e5;border-radius:8px;padding:10px 12px;background:#f8fafc;color:#172033}.share-form textarea{min-height:88px;resize:vertical}.color-modal{width:min(520px,100%);max-height:min(72vh,640px);overflow:auto;padding:16px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #141c2a47}.color-grid{display:grid;grid-auto-rows:28px;justify-content:center;width:max-content;min-width:100%;margin:0 auto;gap:0}.color-axis,.color-slot{width:28px;height:28px;border-right:1px solid rgba(23,32,51,.22);border-bottom:1px solid rgba(23,32,51,.22)}.color-axis{display:grid;place-items:center;background:#f8fafc;color:#35455e;font-size:11px;font-weight:800;line-height:1;-webkit-user-select:none;user-select:none}.color-axis.corner,.color-axis.row{width:34px}.color-axis.corner,.color-axis.column{border-top:1px solid rgba(23,32,51,.22)}.color-axis.corner,.color-axis.row{border-left:1px solid rgba(23,32,51,.22)}.color-slot{display:block;background:#fff}.color-cell{display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}.color-cell span{display:block;width:100%;height:100%}.color-cell.selected{position:relative;z-index:1;box-shadow:inset 0 0 0 3px #276ef1}.modal-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#617089;cursor:pointer;font-size:22px;line-height:1}.auth-modal-header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding-right:34px}.auth-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#276ef1;color:#fff;font-size:24px;font-weight:800}.auth-modal-header p,.auth-note{color:#617089;font-size:13px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.auth-tabs button{height:34px;border:0;border-radius:6px;background:transparent;color:#35455e;cursor:pointer;font-weight:800}.auth-tabs button.selected{background:#276ef1;color:#fff}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:6px;color:#35455e;font-weight:800}.auth-form small{color:#617089;font-size:12px;font-weight:600;line-height:1.4}.auth-form input{width:100%;height:42px;padding:0 12px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;color:#172033}.auth-submit,.share-form .primary,.share-form .secondary{width:100%}.challenge-row{display:grid;grid-template-columns:minmax(94px,1fr) 82px auto;align-items:center;gap:8px}.challenge-row strong{min-height:42px;display:grid;place-items:center;padding:0 10px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;color:#172033}.challenge-row .icon-button{height:42px;white-space:nowrap}.auth-submit{white-space:nowrap}.batch-panel{margin-top:18px;padding-top:16px;border-top:1px solid #d9e2ec}.batch-panel h2{margin-bottom:10px}.folder-picker{display:grid;place-items:center;height:38px;border:1px dashed #aac0d8;border-radius:8px;background:#f8fafc;color:#35455e;cursor:pointer;font-weight:800}.folder-picker input{display:none}.batch-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.batch-list{display:grid;gap:6px;max-height:180px;overflow:auto;margin-top:10px}.batch-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:34px;padding:6px 8px;border:1px solid #e4ebf3;border-radius:8px;background:#fff;color:#172033;cursor:pointer;text-align:left}.batch-check{width:16px;height:16px;accent-color:#276ef1}.batch-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-item strong{color:#617089;font-size:12px}.batch-item.selected{border-color:#276ef1;box-shadow:0 0 0 2px #276ef11f}.admin-page{display:grid;gap:14px;min-height:0}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;min-height:calc(100vh - 118px)}.admin-sidebar,.admin-main,.admin-header,.admin-card,.admin-denied,.admin-metrics article{border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 16px 42px #2a394e14}.admin-sidebar{display:grid;align-content:start;gap:10px;padding:12px;min-height:0}.admin-sidebar-head{display:grid;gap:2px;padding:4px 2px 10px;border-bottom:1px solid #e4ebf3}.admin-sidebar-head strong{color:#172033;font-size:16px}.admin-sidebar-head span,.admin-eyebrow{color:#8a5a14;font-size:11px;font-weight:900;letter-spacing:0}.admin-nav{display:grid;gap:6px}.admin-nav button{display:grid;gap:2px;width:100%;min-height:46px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#35455e;cursor:pointer;text-align:left}.admin-nav button span{color:inherit;font-size:13px;font-weight:900}.admin-nav button small{color:#617089;font-size:11px}.admin-nav button.selected{border-color:#f1c78c;background:#fff7ed;color:#7e3f17}.admin-nav button:disabled{cursor:not-allowed;opacity:.55}.admin-main{display:grid;align-content:start;gap:12px;min-width:0;padding:12px;overflow:hidden}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;box-shadow:none}.admin-header h2,.admin-card h3,.admin-denied h2{margin:0;color:#172033}.admin-header p,.admin-denied p{margin:4px 0 0;color:#617089;font-size:13px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-metrics article{display:grid;gap:4px;padding:12px;box-shadow:none}.admin-metrics span{color:#617089;font-size:12px;font-weight:800}.admin-metrics strong{color:#172033;font-size:24px}.admin-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.admin-card{display:grid;align-content:start;min-height:0;overflow:hidden;box-shadow:none}.admin-module-card{min-height:0}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid #e4ebf3}.admin-card-head span{color:#617089;font-size:12px;font-weight:800}.admin-table-head{display:grid;gap:8px;padding:8px 10px;border-bottom:1px solid #e4ebf3;background:#f8fafc;color:#617089;font-size:11px;font-weight:900}.admin-table-wrap{min-width:0;max-height:calc(100vh - 382px);overflow:auto}.admin-user-filters,.admin-work-filters{display:grid;align-items:end;gap:8px;padding:10px 12px;border-bottom:1px solid #e4ebf3;background:#fffaf2}.admin-user-filters{grid-template-columns:minmax(180px,1.1fr) minmax(120px,.7fr) minmax(110px,.6fr) minmax(130px,.7fr) auto}.admin-work-filters{grid-template-columns:minmax(170px,1fr) minmax(170px,.95fr) minmax(130px,.75fr) minmax(118px,.65fr) minmax(104px,.55fr) minmax(104px,.55fr) auto}.admin-user-filters label,.admin-work-filters label{display:grid;gap:5px;min-width:0;color:#617089;font-size:12px;font-weight:800}.admin-user-filters input,.admin-user-filters select,.admin-work-filters input,.admin-work-filters select{width:100%;min-width:0;height:32px;padding:0 9px;border:1px solid #d9e2ec;border-radius:7px;background:#fff;color:#172033;font-size:12px;font-weight:800}.admin-user-filters .secondary,.admin-work-filters .secondary{min-width:64px;height:32px}.admin-user-table{width:100%;min-width:980px;border-collapse:collapse;color:#172033;font-size:12px}.admin-user-table thead{position:sticky;top:0;z-index:1;background:#f8fafc}.admin-user-table th,.admin-user-table td{padding:9px 10px;border-bottom:1px solid #e4ebf3;text-align:left;vertical-align:middle;white-space:nowrap}.admin-user-table th{color:#617089;font-size:11px;font-weight:900}.admin-user-table tbody tr:hover{background:#fff7eb}.admin-user-table strong{display:block;max-width:160px;overflow:hidden;color:#172033;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-id-cell{color:#7f6c55;font-weight:900}.admin-pagination{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid #e4ebf3;background:#fff;color:#617089;font-size:12px;font-weight:800}.admin-pagination label,.admin-pagination div{display:inline-flex;align-items:center;gap:8px}.admin-pagination select{height:30px;padding:0 8px;border:1px solid #cbd7e5;border-radius:7px;background:#fff;color:#172033;font-weight:800}.admin-pagination strong{min-width:48px;color:#172033;text-align:center}.admin-table-empty{padding:18px 12px}.admin-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #ead8c1;border-radius:999px;background:#fff7eb;color:#6f4f2a;font-size:11px;font-weight:900}.admin-table-action{min-width:58px;height:28px;padding:0 10px}.admin-user-modal{width:min(460px,100%)}.admin-user-form{display:grid;gap:12px}.admin-user-summary{display:grid;gap:4px;padding:10px;border:1px solid #ead8c1;border-radius:8px;background:#fff7eb}.admin-user-summary strong{color:#172033}.admin-user-summary span{overflow:hidden;color:#617089;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-user-form label{display:grid;gap:6px;color:#35455e;font-weight:800}.admin-user-form select{width:100%;height:38px;padding:0 10px;border:1px solid #cbd7e5;border-radius:8px;background:#fff;color:#172033;font-weight:800}.admin-user-grid,.admin-user-item{grid-template-columns:minmax(0,1fr) 112px 88px}.admin-work-grid,.admin-work-item{grid-template-columns:58px minmax(0,1fr) 56px}.admin-user-list,.admin-work-list{display:grid;gap:8px;max-height:calc(100vh - 424px);padding:10px;overflow:auto}.admin-user-list.compact,.admin-work-list.compact{max-height:none}.admin-user-item,.admin-work-item{display:grid;align-items:center;gap:8px;padding:8px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.admin-work-item img,.admin-work-item .history-thumb-placeholder{width:54px;height:42px;border-radius:6px;object-fit:contain}.admin-user-item strong,.admin-work-item strong,.admin-user-item span,.admin-work-item span,.admin-user-item small,.admin-work-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-item strong,.admin-work-item strong{color:#172033;font-size:13px}.admin-user-item span,.admin-work-item span,.admin-user-item small,.admin-work-item small{color:#617089;font-size:12px}.admin-user-item select{width:100%;height:32px;padding:0 7px;border:1px solid #cbd7e5;border-radius:7px;background:#fff;color:#172033;font-weight:800}.admin-type-tag{justify-self:end;padding:3px 6px;border:1px solid #e4ebf3;border-radius:6px;background:#fff;color:#617089;font-size:11px;font-weight:900}.text-button.danger{color:#b91c1c}.admin-denied{padding:18px}.refresh-button{width:auto;min-width:72px;flex:0 0 auto}.history-item{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:98px;padding:10px;border:1px solid #e4ebf3;border-radius:8px;background:#fff;color:#172033;cursor:pointer;text-align:left}.history-item img,.history-thumb-placeholder{display:block;width:76px;height:76px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;object-fit:contain}.history-info{display:grid;gap:4px;min-width:0}.history-item strong,.history-item span,.history-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item span,.history-item small{color:#617089;font-size:12px}.history-item.selected{border-color:#276ef1;box-shadow:0 0 0 2px #276ef11f}.share-page{min-height:calc(100vh - 146px);padding:18px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 16px 50px #2a394e14}.share-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.share-header p{margin-top:4px;color:#617089}.share-search{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,.9fr) minmax(160px,.8fr) auto auto;align-items:end;gap:10px;margin:0 0 14px;padding:10px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.share-search label{display:grid;gap:5px;min-width:0;color:#617089;font-size:12px}.share-search input,.share-search select{width:100%;min-width:0;height:34px;border:1px solid #d9e2ec;border-radius:6px;background:#fff;color:#172033;padding:0 10px;font-size:13px}.share-search-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.share-search-actions .primary,.share-search-actions .secondary{min-width:66px}.share-search-count{align-self:center;white-space:nowrap;color:#617089;font-size:13px}.share-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.share-card{display:grid;gap:10px;padding:12px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.series-card{border-color:#efcf9f;background:#fffaf2}.series-tag{display:inline-grid;place-items:center;min-width:34px;height:20px;margin-right:6px;padding:0 6px;border-radius:6px;background:#f6a93d;color:#fff;font-size:12px;font-weight:800;vertical-align:1px}.share-thumb{display:grid;place-items:center;width:100%;aspect-ratio:1 / .72;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;cursor:pointer;overflow:hidden}.share-thumb img{width:100%;height:100%;object-fit:contain}.share-card-body{display:grid;gap:8px}.share-card h3{margin:0;color:#172033;font-size:16px}.share-card p,.share-desc,.share-meta{color:#617089;font-size:13px}.share-desc{line-height:1.5}.share-meta,.share-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.share-actions{justify-content:flex-end}.share-actions .selected{border-color:#276ef1;color:#276ef1}.share-series-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.share-series-summary span{display:grid;place-items:center;min-height:36px;padding:6px 8px;border:1px solid #e4d5bd;border-radius:8px;background:#fff7eb;color:#6f4f2a;font-weight:800;text-align:center}.share-page-detail{padding:12px}.series-detail-page{display:flex;flex-direction:column;gap:12px;min-height:calc(100vh - 170px)}.series-detail-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px}.series-detail-hero{display:grid;grid-template-columns:minmax(170px,230px) minmax(0,1fr) minmax(220px,.36fr);gap:14px;align-items:stretch;padding:14px;border:1px solid #e4d5bd;border-radius:8px;background:#fff7eb}.series-detail-cover{display:grid;place-items:center;width:100%;min-height:150px;aspect-ratio:1 / .76;border:1px solid #ead8c1;border-radius:8px;background:#fff;overflow:hidden}.series-detail-cover img{width:100%;height:100%;object-fit:contain}.series-detail-title{align-content:start;display:grid;gap:8px;min-width:0}.series-detail-title h2{margin:0;color:#172033;font-size:28px;line-height:1.18}.series-detail-title p{color:#617089}.series-detail-stats{display:grid;grid-template-columns:1fr;gap:8px;align-content:start}.series-detail-stats span{display:grid;min-height:36px;align-items:center;padding:7px 10px;border:1px solid #e4d5bd;border-radius:8px;background:#fff;color:#6f4f2a;font-size:13px;font-weight:800}.series-detail-grid{flex:1;align-content:start;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.series-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px}.series-item-card{display:grid;gap:8px;padding:10px;border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.series-item-thumb{display:grid;place-items:center;width:100%;aspect-ratio:1 / .76;border:1px solid #d9e2ec;border-radius:8px;background:#fff;cursor:pointer;overflow:hidden}.series-item-thumb img{width:100%;height:100%;object-fit:contain}.series-item-card h3{overflow:hidden;margin:0;color:#172033;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.series-item-card p{margin-top:4px;color:#617089;font-size:12px}.series-item-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.assemble-page{display:flex;flex-direction:column;height:calc(100vh - 126px);min-height:620px;padding:10px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 16px 50px #2a394e14;overflow:hidden}.assemble-header,.assemble-planner-head,.assemble-source-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.assemble-header{flex:0 0 auto;margin-bottom:6px}.assemble-header h2{margin:0;font-size:18px}.assemble-header p{margin:2px 0 0}.assemble-header p,.assemble-cart-item small,.assemble-source-item small,.assemble-planner .hint{color:#617089;font-size:12px}.assemble-planner .hint{margin:2px 0;line-height:1.35}.assemble-header-actions,.assemble-source-tabs,.board-size-controls,.assemble-flow-actions{display:flex;align-items:center;gap:8px}.assemble-layout{display:grid;grid-template-columns:268px minmax(0,1fr) 284px;gap:8px;align-items:stretch;flex:1 1 auto;min-height:0}.assemble-source-panel,.assemble-main-panel,.assemble-progress-panel,.assemble-planner,.assemble-color-summary{border:1px solid #e4ebf3;border-radius:8px;background:#f8fafc}.assemble-source-panel,.assemble-progress-panel,.assemble-planner,.assemble-color-summary{min-height:0;padding:8px;overflow:hidden}.assemble-planner,.assemble-color-summary{display:flex;flex-direction:column}.assemble-planner{min-width:0;min-height:0}.assemble-color-summary{min-width:0}.assemble-color-list{align-content:start;flex:1 1 auto;min-height:0;overflow:auto}.assemble-color-summary .muted{margin-top:6px}.assemble-color-summary-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.assemble-color-summary-head h3{margin:0}.assemble-color-tabs{display:flex;gap:2px;padding:2px;border:1px solid #d9e2ec;border-radius:999px;background:#fff}.assemble-color-tabs button{min-width:34px;height:22px;padding:0 7px;border:0;border-radius:999px;background:transparent;color:#617089;cursor:pointer;font-size:11px;font-weight:900}.assemble-color-tabs button.selected{background:#276ef1;color:#fff}.assemble-color-tabs button:disabled{cursor:not-allowed;opacity:.45}.assemble-main-panel{display:grid;grid-template-columns:minmax(0,1fr) 176px;grid-template-rows:minmax(0,1fr);gap:6px;min-height:0;padding:6px;overflow:hidden}.assemble-source-head,.assemble-progress-panel h3,.assemble-color-summary h3,.assemble-planner h3{margin-top:0;margin-bottom:4px;line-height:1.1;font-size:14px}.assemble-planner h3,.assemble-color-summary h3,.assemble-progress-panel h3{white-space:nowrap}.assemble-planner-head{flex-wrap:wrap}.assemble-planner-head h3{margin-right:2px}.assemble-source-tabs{padding:2px;border:1px solid #d9e2ec;border-radius:7px;background:#fff}.assemble-source-tabs button{height:28px;padding:0 8px;border:0;border-radius:5px;background:transparent;color:#35455e;cursor:pointer;font-size:13px;font-weight:800}.assemble-source-tabs button.selected{background:#276ef1;color:#fff}.assemble-source-list,.assemble-cart-list,.assemble-color-list,.assemble-item-colors{display:grid;gap:6px}.assemble-source-list,.assemble-cart-list{max-height:none;overflow:auto}.assemble-source-panel,.assemble-progress-panel{display:flex;flex-direction:column}.assemble-source-list,.assemble-cart-list{flex:1 1 auto;min-height:0;align-content:start;justify-content:stretch}.assemble-current-card{display:grid;gap:4px;margin-bottom:5px;padding:5px;border:1px solid #cbd7e5;border-radius:8px;background:#fff}.assemble-current-previews{display:grid;grid-template-columns:1fr 1fr;gap:3px}.assemble-current-previews figure{position:relative;min-width:0;margin:0}.assemble-current-previews img,.assemble-current-previews .history-thumb-placeholder{width:100%;height:38px;object-fit:contain;border:1px solid #d9e2ec;border-radius:6px;background:linear-gradient(45deg,#eef3f8 25%,transparent 25%),linear-gradient(-45deg,#eef3f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef3f8 75%),linear-gradient(-45deg,transparent 75%,#eef3f8 75%),#fff;background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.assemble-current-previews figcaption{position:absolute;left:3px;bottom:3px;padding:1px 4px;border-radius:4px;background:#172033c2;color:#fff;font-size:10px;font-weight:800}.assemble-current-body{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:2px 6px;align-items:center;min-height:34px}.assemble-current-body strong,.assemble-current-body small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assemble-current-body small{grid-column:1 / 2;color:#617089;font-size:11px;line-height:1.25}.assemble-current-body button{grid-column:2;grid-row:1 / span 2}.assemble-source-item{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;gap:5px;align-items:center;min-height:54px;padding:4px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.assemble-source-item img{width:38px;height:32px;object-fit:contain;border:1px solid #d9e2ec;border-radius:6px;background:#fff}.assemble-source-item div,.assemble-cart-title div{display:grid;gap:2px;min-width:0}.assemble-source-item strong,.assemble-cart-title strong{overflow:hidden;color:#172033;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.assemble-source-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.assemble-summary-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.assemble-summary-grid article{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:4px 7px;border:1px solid #e4ebf3;border-radius:6px;background:#fff}.assemble-summary-grid span{color:#617089;font-size:11px;white-space:nowrap}.assemble-summary-grid strong{color:#172033;font-size:14px;line-height:1}.assemble-inline-stats{display:flex;align-items:center;gap:4px;min-width:0;color:#617089;font-size:11px;font-weight:800;white-space:nowrap}.assemble-inline-stats span{padding:2px 5px;border:1px solid #e4ebf3;border-radius:999px;background:#fff}.board-size-controls label{display:grid;grid-template-columns:auto 50px;align-items:center;gap:4px;color:#35455e;font-size:12px;font-weight:800}.board-size-controls input{width:50px;height:24px;padding:0 6px;border:1px solid #cbd7e5;border-radius:7px;background:#fff}.assemble-board-preview{position:relative;width:100%;min-height:120px;max-height:150px;margin-top:6px;border:1px solid #cbd7e5;border-radius:8px;overflow:hidden;background-image:linear-gradient(rgba(39,110,241,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(39,110,241,.08) 1px,transparent 1px);background-size:24px 24px;background-color:#fff}.assemble-flow-actions{flex-wrap:wrap;gap:5px;margin:3px 0}.assemble-flow-actions .primary,.assemble-flow-actions .secondary{width:auto;min-width:64px;height:26px;padding:0 8px;font-size:12px}.assemble-collection-list{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;min-height:44px;max-height:48px;margin:3px 0;overflow-x:auto;overflow-y:hidden}.assemble-collection-list article{position:relative;display:grid;grid-template-columns:38px 28px;gap:3px;align-items:center;flex:0 0 auto;width:74px;padding:3px;border:1px solid #e4ebf3;border-radius:7px;background:#fff}.assemble-collection-list img,.assemble-cart-title img{width:100%;height:100%;object-fit:contain}.assemble-thumb-stack{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:38px;height:28px;padding:2px;border:1px solid #d9e2ec;border-radius:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,#eef3f8 25%,transparent 25%),linear-gradient(-45deg,#eef3f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef3f8 75%),linear-gradient(-45deg,transparent 75%,#eef3f8 75%),#fff;background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;cursor:pointer}.assemble-thumb-stack:disabled{cursor:default}.assemble-thumb-stack img,.assemble-thumb-stack .history-thumb-placeholder{min-width:0;min-height:0;border-radius:4px;background:#ffffffc7}.assemble-thumb-stack .solo{grid-column:1 / -1}.assemble-thumb-stack.selected{border-color:#276ef1;box-shadow:0 0 0 2px #276ef129}.assemble-collection-list div{display:grid;place-items:center;gap:0;min-width:0}.assemble-collection-list strong{overflow:hidden;font-size:11px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.assemble-collection-list span{color:#617089;font-size:10px;line-height:1}.assemble-collection-list .text-button{position:absolute;top:-3px;right:-2px;width:16px;height:16px;overflow:hidden;padding:0;border-radius:999px;background:#fff;color:#b91c1c;font-size:0;box-shadow:0 0 0 1px #fecaca}.assemble-collection-list .text-button:before{content:"x";font-size:11px;line-height:16px}.assemble-pattern-preview{position:relative;display:grid;grid-template-rows:minmax(0,1fr);flex:1 1 auto;min-height:0;margin:3px 0 0;padding:0;border:1px solid #d9e2ec;border-radius:8px;background:#fff;overflow:hidden}.assemble-preview-meta{position:absolute;top:6px;left:6px;z-index:2;display:flex;align-items:center;max-width:calc(100% - 84px);gap:8px;padding:3px 6px;border:1px solid rgba(203,215,229,.86);border-radius:999px;background:#ffffffeb;box-shadow:0 8px 18px #2a394e14}.assemble-floating-action{position:absolute;top:6px;right:6px;z-index:3;height:26px;padding:0 10px;border:1px solid rgba(203,215,229,.9);border-radius:999px;background:#fffffff0;color:#35455e;cursor:pointer;font-size:12px;font-weight:900;box-shadow:0 8px 18px #2a394e14}.assemble-pattern-preview strong{overflow:hidden;color:#172033;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assemble-pattern-preview span{flex:0 0 auto;color:#617089;font-size:11px;white-space:nowrap}.assemble-merged-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:6px;align-items:center;flex:1 1 auto;min-height:0;margin:6px 0;padding:7px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.assemble-merged-preview div{display:grid;gap:4px}.assemble-merged-preview span{color:#617089;font-size:13px}.assemble-merged-preview .secondary{width:auto;min-width:86px}.assemble-merged-actions{display:flex!important;justify-content:flex-end;gap:6px}.assemble-merged-grid{grid-column:1 / -1;max-width:100%;max-height:none;height:100%;overflow:auto;padding:6px;border:1px solid #d9e2ec;border-radius:6px;background:#fff}.assemble-merged-grid canvas{display:block;max-width:none;background:#fff}.assemble-preview-grid{display:grid;place-items:center;min-height:0;height:100%;overflow:hidden;padding:2px;border:0;border-radius:0;background:#fff}.assemble-preview-grid canvas{display:block;max-width:100%;max-height:100%;background:#fff}.assemble-placement{position:absolute;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;min-width:28px;min-height:24px;padding:4px;border:2px solid rgba(39,110,241,.72);border-radius:6px;background:#ffffffeb;color:#172033;text-align:center;font-size:12px}.assemble-placement img{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:4px;background:#ffffffb8}.assemble-placement strong{position:absolute;top:3px;left:4px;padding:0 4px;border-radius:4px;background:#ffffffe0;color:#276ef1;font-size:16px}.assemble-placement span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assemble-placement.done{border-color:#12a150;background:#12a15024}.assemble-placement.overflow{border-color:#f97316;background:#f9731624}.assemble-color-row,.assemble-color-check{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:30px}.assemble-color-row{padding:5px 8px;border:1px solid #e4ebf3;border-radius:7px;background:#fff}.assemble-cart-item{display:grid;align-content:start;justify-items:stretch;gap:5px;padding:7px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.assemble-cart-title{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:6px;align-items:center}.assemble-done-toggle{margin-top:2px}.assemble-progress-bar{height:8px;border-radius:999px;overflow:hidden;background:#e6edf6}.assemble-progress-bar span{display:block;height:100%;border-radius:inherit;background:#276ef1}.assemble-cart-item summary{cursor:pointer;color:#35455e;font-size:13px;font-weight:800}.assemble-item-colors{align-content:start;justify-content:stretch;margin-top:8px}.assemble-color-check{font-size:13px}.assemble-color-check input{width:16px;height:16px;accent-color:#276ef1}.library-toggle{position:fixed;top:164px;right:0;z-index:40;width:42px;min-height:108px;padding:10px 8px;border:1px solid #cbd7e5;border-right:0;border-radius:8px 0 0 8px;background:#276ef1;color:#fff;cursor:pointer;font-weight:900;line-height:1.2;writing-mode:vertical-rl;letter-spacing:0;box-shadow:0 12px 34px #276ef138}.library-toggle.open{right:318px}.share-drawer{position:fixed;top:118px;right:0;bottom:18px;z-index:39;display:flex;flex-direction:column;gap:6px;width:min(320px,calc(100vw - 28px));padding:8px;border:1px solid #d9e2ec;border-right:0;border-radius:8px 0 0 8px;background:#fff;box-shadow:-18px 18px 54px #2a394e29;transform:translate(104%);transition:transform .18s ease}.share-drawer.open{transform:translate(0)}.share-drawer-header,.share-drawer-tools,.share-drawer-meta,.share-drawer-summary,.share-drawer-footer,.share-drawer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.share-drawer-header{flex:0 0 auto}.share-drawer-header h2{margin:0;color:#172033;font-size:17px}.share-drawer-header p,.share-drawer-tools,.share-drawer-meta,.share-drawer-summary,.share-drawer-footer{color:#617089;font-size:12px}.share-drawer-tabs{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);flex:0 0 auto;padding:3px;border:1px solid #cbd7e5;border-radius:8px;background:#f8fafc}.share-drawer-tabs button{height:32px;border:0;border-radius:6px;background:transparent;color:#35455e;cursor:pointer;font-size:13px;font-weight:800;text-align:center}.share-drawer-tabs button.selected{background:#e8f0ff;color:#174ea6;box-shadow:inset 0 0 0 1px #276ef129}.share-drawer-list{display:grid;align-content:start;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;flex:1 1 auto;min-height:0;overflow:auto;padding-right:2px}.share-drawer-item{display:grid;gap:7px;min-width:0;padding:4px;border:1px solid #e4ebf3;border-radius:8px;background:#fff;cursor:grab}.share-drawer-item.selected{grid-column:1 / -1;grid-template-columns:72px minmax(0,1fr);padding:6px}.share-drawer-item.dragging{border-color:#276ef1;opacity:.72}.share-drawer-item.selected{border-color:#276ef1;box-shadow:0 0 0 2px #276ef11f}.share-drawer-item.active:not(.selected){border-color:#f59e0b}.share-drawer-thumb{display:grid;place-items:center;position:relative;width:100%;aspect-ratio:1;align-self:start;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;overflow:hidden;cursor:pointer}.share-drawer-thumb img{width:100%;height:100%;object-fit:contain}.share-drawer-body{display:grid;gap:6px;align-content:start;min-width:0}.share-drawer-body h3,.share-drawer-body p,.share-drawer-summary span,.share-drawer-footer>span{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.share-drawer-body h3{color:#172033;font-size:12px;line-height:1.25}.share-drawer-detail-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;margin-top:4px;font-size:11px;line-height:1.25}.share-drawer-detail-grid span,.share-drawer-colors span{color:#7a8799;font-weight:800}.share-drawer-detail-grid strong{overflow:hidden;color:#172033;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.share-drawer-colors{display:grid;gap:3px;margin-top:5px;font-size:11px;line-height:1.35}.share-drawer-colors p{display:-webkit-box;overflow:hidden;margin:0;color:#35455e;-webkit-box-orient:vertical;-webkit-line-clamp:2}.share-drawer-body p{color:#617089;font-size:10px;line-height:1.2}.share-drawer-summary{gap:4px;min-width:0}.share-drawer-summary p{flex:0 0 auto}.share-drawer-summary span{min-width:0;color:#617089;font-size:10px;line-height:1.2;text-align:right}.share-drawer-footer{align-items:center;gap:4px;min-width:0}.share-drawer-footer>span{min-width:0;color:#7a8799;font-size:10px;line-height:1.2}.share-drawer-actions{flex:0 0 auto;justify-content:flex-end;gap:4px;width:100%}.share-drawer-tools .secondary.compact,.share-drawer-actions .secondary.compact{width:auto;min-width:28px;height:24px;padding:0 6px;border:1px solid #d9e2ec;background:transparent;color:#35455e;font-size:11px;font-weight:700}.share-drawer-filter{display:grid;gap:7px;padding:8px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.share-drawer-filter label{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px;min-width:0;color:#617089;font-size:11px;font-weight:900}.share-drawer-filter input{min-width:0;height:28px;padding:0 7px;border:1px solid #d9e2ec;border-radius:6px;background:#f8fafc;color:#172033;font-size:12px;font-weight:800}.filter-size-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.filter-size-row label{grid-template-columns:16px minmax(0,1fr);gap:3px}.filter-size-row label:nth-child(2),.filter-size-row label:nth-child(4){grid-template-columns:0 minmax(0,1fr)}.filter-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#617089;font-size:11px;font-weight:800}.filter-actions .text-button{padding:0;font-size:12px}.share-drawer-actions .primary.compact{width:auto;min-width:44px;height:24px;padding:0 8px;font-size:11px}.icon-add-button{display:inline-grid;place-items:center;width:28px;min-width:28px!important;height:28px;padding:0!important;border-radius:999px;font-size:18px!important;line-height:1;font-weight:900!important}.share-drawer-actions .icon-add-button{width:24px;min-width:24px!important;height:24px;font-size:16px!important}.share-drawer-actions .selected{border-color:#276ef1;background:#eef4ff;color:#276ef1}.design-elements-panel{display:grid;gap:10px;padding:10px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.design-elements-head,.design-element-actions,.element-position-fields{display:flex;align-items:center;justify-content:space-between;gap:8px}.design-elements-head div{display:grid;gap:2px}.design-elements-head strong,.design-element-editor strong{color:#172033;font-size:13px}.design-elements-head span{color:#617089;font-size:12px}.design-element-editor{display:grid;gap:8px;padding:9px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}.element-position-fields label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;color:#617089;font-size:12px;font-weight:900}.element-position-fields input{min-width:0;height:30px;border:1px solid #d9e2ec;border-radius:6px;padding:0 7px;background:#f8fafc;color:#172033;font-weight:800}.design-element-actions{justify-content:flex-end}.secondary.danger{border-color:#fecaca;color:#b91c1c}.design-elements-list{display:grid;gap:6px;max-height:126px;overflow:auto}.design-elements-list button{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid #d9e2ec;border-radius:7px;background:#fff;color:#35455e;cursor:pointer;text-align:left}.design-elements-list button.selected{border-color:#f97316;background:#fff7ed}.design-elements-list span,.design-elements-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-elements-list span{color:#172033;font-size:12px;font-weight:900}.design-elements-list small{color:#617089;font-size:11px}.preview{display:flex;flex-direction:column;min-width:0;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid #d9e2ec}.large-image-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 18px 0;padding:14px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#78350f;box-shadow:0 10px 30px #f59e0b29}.large-image-notice strong,.large-image-notice span{display:block}.large-image-notice strong{margin-bottom:4px;font-size:15px}.large-image-notice span{line-height:1.5;font-size:13px}.large-image-actions{display:flex;flex:0 0 auto;gap:8px}.large-image-actions .compact{min-width:126px;padding:0 14px;white-space:nowrap}.large-image-actions .secondary{background:#fff}.tool-panel{display:grid;justify-items:end;gap:8px}.tool-main-row,.tool-options-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.tool-options-row{width:100%;min-height:36px}.tool-options-row.empty{visibility:hidden;pointer-events:none}.segmented,.zoom{display:grid;align-items:center;border:1px solid #d9e2ec;border-radius:8px;overflow:hidden;background:#f8fafc}.segmented{grid-template-columns:86px 34px 86px 92px}.quick-tools{grid-template-columns:repeat(6,72px)}.zoom{grid-template-columns:34px 64px 34px}.segmented button,.zoom button{display:flex;align-items:center;justify-content:center;gap:5px;height:34px;border:0;background:#fff;cursor:pointer;color:#35455e;font-weight:800;white-space:nowrap}.quick-tools button{padding:0 9px}.segmented svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.zoom button{width:34px;font-size:20px;line-height:1}.segmented button.selected{background:#276ef1;color:#fff}.segmented .tool-color-button{width:34px;padding:5px}.segmented .tool-color-button span{display:block;width:100%;height:100%;border:1px solid rgba(23,32,51,.24);border-radius:4px}.zoom span{text-align:center;color:#35455e;font-weight:700}.icon-button{height:36px;padding:0 12px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#35455e;cursor:pointer;font-weight:800}.icon-button:disabled{cursor:not-allowed;opacity:.45}.toolbar-toggle{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#35455e;font-weight:800}.toolbar-toggle input{width:16px;height:16px;accent-color:#276ef1}.stamp-tools{display:grid;grid-template-columns:minmax(82px,140px) 104px 74px;align-items:center;gap:6px;height:36px;padding:4px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.assemble-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.assemble-color-select{width:132px;height:34px;padding:0 8px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#172033;font-size:13px;font-weight:800}.assemble-tools .icon-button{min-width:78px}.assemble-guide-input{display:grid;grid-template-columns:auto 48px;align-items:center;gap:6px;color:#35455e;font-size:13px;font-weight:800}.assemble-guide-input input{width:48px;height:34px;padding:0 6px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#172033;text-align:center;font-weight:800}.stamp-tools input,.stamp-tools select{min-width:0;height:26px;border:1px solid #d9e2ec;border-radius:6px;padding:0 8px;background:#f8fafc;color:#172033;font-weight:800}.stamp-tools select{cursor:pointer}.stamp-tools label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;color:#617089;font-size:12px;font-weight:800}.stamp-tools label input{width:38px;padding:0 4px;text-align:center}.canvas-wrap{position:relative;flex:1;overflow:auto;padding:18px;background:linear-gradient(45deg,#f7fafc 25%,transparent 25%),linear-gradient(-45deg,#f7fafc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f7fafc 75%),linear-gradient(-45deg,transparent 75%,#f7fafc 75%);background-color:#edf2f7;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.canvas-wrap.drop-target:after{position:absolute;top:18px;right:18px;bottom:18px;left:18px;display:grid;place-items:center;border:2px dashed #276ef1;border-radius:8px;background:#276ef114;color:#174ea6;content:attr(data-drop-label);font-weight:900;pointer-events:none}.pattern-canvas{display:block;background:#fff;box-shadow:0 6px 24px #141c2a1f;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.empty-state{position:absolute;top:18px;right:18px;bottom:18px;left:18px;display:grid;place-content:center;justify-items:center;gap:18px;padding:24px;text-align:center;color:#617089;background:#ffffffc2}.empty-state strong{display:block;margin-bottom:8px;color:#1f2c3d;font-size:24px}.empty-state span{display:block;max-width:420px;line-height:1.6}.empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.empty-actions .primary,.empty-actions .secondary{width:auto;min-width:136px;margin:0;padding:0 18px}.quick-create-panel{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:end;gap:12px;width:min(560px,100%);padding:12px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 12px 32px #2a394e1f}.quick-create-panel label{display:grid;gap:8px;color:#35455e;text-align:left;font-size:12px;font-weight:900}.quick-create-panel label span{display:flex;justify-content:space-between;gap:10px}.quick-create-panel label strong{color:#276ef1}.quick-create-panel input[type=range]{width:100%}.quick-create-panel .primary{min-width:104px}.palette{overflow:auto}.palette h2{margin-bottom:14px}.palette h3{margin:0;color:#617089;font-size:13px;letter-spacing:0}.selected-color{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:14px;padding:10px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.selected-color div{display:grid;gap:2px}.selected-color span:last-child{color:#617089;font-size:13px}.palette-actions{display:grid;gap:8px;margin-bottom:14px;padding:10px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.palette-actions .danger{color:#b91c1c}.palette-replace,.palette-merge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.palette-replace select{height:36px;padding:0 8px;font-size:13px}.palette-merge label{display:flex;align-items:center;gap:6px;color:#35455e;font-size:13px;font-weight:800}.palette-merge input{width:54px;height:34px;padding:0 6px;border:1px solid #cbd7e5;border-radius:8px;color:#172033;text-align:center;font-weight:800}.palette-list{display:grid;gap:8px}.palette-row{display:grid;grid-template-columns:20px 28px minmax(42px,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:6px;border:1px solid #e4ebf3;border-radius:8px}.pin-check{width:16px;height:16px;accent-color:#276ef1}.palette-button{width:100%;cursor:pointer;background:#fff;color:inherit;text-align:left}.palette-button.selected{border-color:#276ef1;box-shadow:0 0 0 2px #276ef11f}.swatch{width:24px;height:24px;border:1px solid rgba(0,0,0,.16);border-radius:6px}.swatch.large{width:34px;height:34px}.code{color:#172033;font-weight:800}.hex{color:#617089;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1080px){.app-header{align-items:flex-start;flex-direction:column}.brand{min-width:0}.account-panel{justify-items:stretch;width:100%}.account-actions{justify-content:flex-start}.workspace{grid-template-columns:260px minmax(0,1fr)}.palette{grid-column:1 / -1}.library-toggle.open{right:min(338px,calc(100vw - 44px))}.assemble-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.series-detail-hero{grid-template-columns:minmax(150px,210px) minmax(0,1fr)}.series-detail-stats{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.assemble-main-panel{grid-template-columns:1fr}.assemble-progress-panel{grid-column:1 / -1;max-height:220px}}@media (max-width: 760px){.shell{padding:12px}.brand-logo{width:178px;height:auto}.top-nav{width:100%;overflow-x:auto}.top-nav a{flex:1 0 max-content;min-width:0;padding:0 10px}.workspace{grid-template-columns:1fr;min-height:auto}.app-header{padding:14px}.account-user{align-items:flex-start;flex-direction:column}.account-actions{width:100%}.account-actions .primary,.account-actions .secondary{flex:1}.auth-modal,.confirm-modal{padding:20px}.crop-modal{padding:16px}.crop-stage{height:46vh;min-height:220px}.image-confirm-preview{height:42vh;min-height:220px}.image-confirm-preview img{max-width:calc(100% - 34px);max-height:calc(100% - 44px)}.image-confirm-info{align-items:flex-start;flex-direction:column}.image-confirm-info span{flex:0 1 auto}.crop-controls{grid-template-columns:1fr}.crop-size-label{justify-content:center}.export-modal{padding:20px;max-height:92vh}.export-layout{grid-template-columns:1fr}.export-preview-panel{min-height:260px;max-height:48vh}.pattern-fullscreen-modal{padding:10px}.pattern-fullscreen-head{align-items:flex-start;flex-direction:column}.pattern-fullscreen-body{grid-template-columns:1fr}.pattern-fullscreen-colors{max-height:180px}.guide-modal{padding:20px}.guide-steps li{grid-template-columns:1fr;gap:4px}.confirm-actions{justify-content:flex-end}.crop-actions{grid-template-columns:1fr 1fr}.crop-actions-preview,.challenge-row{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.large-image-notice,.large-image-actions{align-items:stretch;flex-direction:column}.quick-create-panel{grid-template-columns:1fr;width:min(280px,100%)}.tool-strip{justify-content:flex-start}.share-header{align-items:stretch;flex-direction:column}.share-page-detail{padding:10px}.series-detail-toolbar{align-items:center;flex-direction:row}.series-detail-hero{grid-template-columns:1fr;padding:10px}.series-detail-cover{min-height:190px}.series-detail-title h2{font-size:22px}.series-detail-stats{grid-template-columns:1fr 1fr}.series-detail-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.share-search{grid-template-columns:1fr 1fr;align-items:stretch}.share-search label:first-child,.share-search-actions,.share-search-count{grid-column:1 / -1}.share-search-actions{justify-content:flex-end}.assemble-header,.assemble-planner-head,.assemble-source-head{align-items:stretch;flex-direction:column}.assemble-layout,.assemble-summary-grid{grid-template-columns:1fr}.admin-header{align-items:stretch;flex-direction:column}.admin-shell{grid-template-columns:1fr}.admin-main{overflow:visible}.admin-table-wrap{max-height:none}.admin-user-table{min-width:920px}.admin-user-filters,.admin-work-filters{grid-template-columns:1fr 1fr}.admin-user-filters label:first-child,.admin-user-filters .secondary,.admin-work-filters label:first-child,.admin-work-filters .secondary{grid-column:1 / -1}.admin-pagination{align-items:flex-start;flex-direction:column}.admin-metrics,.admin-dashboard{grid-template-columns:1fr 1fr}.admin-work-item{grid-template-columns:48px minmax(0,1fr)}.admin-work-item .text-button{grid-column:1 / -1;justify-self:end}.assemble-page{height:auto;min-height:auto;overflow:visible}.assemble-layout,.assemble-main-panel,.assemble-source-panel,.assemble-progress-panel,.assemble-planner,.assemble-color-summary{min-height:auto;overflow:visible}.assemble-source-list,.assemble-cart-list{max-height:none}.assemble-collection-list,.assemble-color-list{max-height:none;overflow:visible}.assemble-merged-grid{max-height:52vh}.assemble-source-item{grid-template-columns:42px minmax(0,1fr) 28px}.assemble-source-item .secondary{grid-column:auto}.board-size-controls{justify-content:space-between}.library-toggle{top:auto;right:12px;bottom:18px;width:auto;min-height:40px;padding:0 14px;border:1px solid #cbd7e5;border-radius:8px;writing-mode:horizontal-tb}.library-toggle.open{right:12px}.share-drawer{top:auto;right:12px;bottom:70px;left:12px;width:auto;max-height:70vh;border-right:1px solid #d9e2ec;border-radius:8px;transform:translateY(calc(100% + 90px))}.share-drawer.open{transform:translateY(0)}}body{background:radial-gradient(circle at 18% 0%,rgba(255,232,194,.55),transparent 30%),linear-gradient(180deg,var(--warm-bg-soft),var(--warm-bg));color:var(--warm-text)}.shell{background:transparent}.app-header,.controls,.preview,.palette,.share-page,.assemble-page,.auth-modal,.confirm-modal,.guide-modal,.crop-modal,.export-modal,.color-modal,.share-drawer,.admin-sidebar,.admin-main,.admin-header,.admin-card,.admin-denied,.admin-metrics article,.design-elements-panel,.quick-create-panel{border-color:var(--warm-border);background:var(--warm-surface);box-shadow:0 16px 42px var(--warm-shadow)}.top-nav,.mode-switch,.radio-group,.account-user,.account-actions,.create-panel,.selected-color,.export-options,.pattern-fullscreen-toolbar,.pattern-fullscreen-colors,.share-drawer-tabs,.toolbar-toggle,.segmented,.zoom,.stamp-tools,.design-elements-panel,.palette-actions,.share-drawer-filter,.share-search,.admin-user-filters,.admin-work-filters,.admin-user-item,.admin-work-item{border-color:var(--warm-border);background:var(--warm-bg-soft)}.brand-logo{filter:drop-shadow(0 8px 14px rgba(111,79,42,.1))}.top-nav a,.mode-switch button,.radio-option,.segmented button,.zoom span,.icon-button,.toolbar-toggle,.inline-field label,.field-label label,.toggle,.share-form label,.auth-form label,.export-guide-input,.palette-merge label,.zoom button{color:var(--warm-muted)}.brand-mark,.account-avatar,.auth-mark,.primary,.account-entry,.top-nav a.selected,.mode-switch button.selected,.radio-option.selected,.auth-tabs button.selected,.segmented button.selected,.assemble-color-tabs button.selected{background:var(--warm-primary);color:#fff}.primary:hover,.account-entry:hover,.top-nav a.selected:hover{background:var(--warm-primary-strong)}.secondary,.secondary.compact,.icon-button,.share-drawer-tools .secondary.compact,.share-drawer-actions .secondary.compact{border-color:var(--warm-border);background:var(--warm-primary-soft);color:var(--warm-text)}.text-button,.field-label strong,.quick-create-panel label strong,.site-footer a:hover,.share-drawer-actions .selected,.palette-button.selected{color:var(--warm-primary)}input[type=range],.inline-check input,.toggle input,.radio-option input,.pin-check,.toolbar-toggle input,.assemble-color-check input{accent-color:var(--warm-primary)}select,textarea,.auth-form input,.share-form input,.share-form textarea,.share-search input,.share-search select,.admin-user-filters input,.admin-user-filters select,.admin-work-filters input,.admin-work-filters select,.challenge-row strong,.stamp-tools input,.stamp-tools select,.admin-user-form select,.share-drawer-filter input,.assemble-color-select,.assemble-guide-input input,.palette-merge input,.element-position-fields input,.design-elements-list button,.palette-button,.pattern-fullscreen-color,.assemble-color-row,.assemble-color-check,.share-drawer-item{border-color:var(--warm-border);background:var(--warm-surface-strong);color:var(--warm-text)}.dropzone,.folder-picker,.crop-stage,.export-preview-panel,.pattern-fullscreen-stage,.canvas-wrap,.selected-color,.share-drawer-thumb,.empty-state,.share-form input,.share-form textarea,.auth-form input{background-color:var(--warm-bg-soft)}.canvas-wrap{background:linear-gradient(45deg,rgba(234,216,193,.42) 25%,transparent 25%),linear-gradient(-45deg,rgba(234,216,193,.42) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(234,216,193,.42) 75%),linear-gradient(-45deg,transparent 75%,rgba(234,216,193,.42) 75%);background-color:#f1e4d2;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.pattern-canvas,.fullscreen-backdrop,.pattern-fullscreen-modal,.pattern-fullscreen-stage canvas{background:var(--warm-surface-strong)}.muted,.hint,.brand p,.toolbar p,.site-footer,.account-user span,.account-user small,.auth-note,.guide-modal p,.confirm-modal p,.export-modal p,.pattern-fullscreen-head p,.pattern-fullscreen-stats span,.pattern-fullscreen-colors h3,.share-drawer-header p,.share-drawer-tools,.share-drawer-meta,.share-drawer-summary,.share-drawer-footer,.share-drawer-body p,.palette h3,.hex{color:var(--warm-muted)}h1,h2,.account-user strong,.guide-steps strong,.pattern-fullscreen-head h2,.share-drawer-header h2,.design-elements-head strong,.design-element-editor strong,.share-drawer-body h3,.code{color:var(--warm-text)}.color-cell.selected,.palette-button.selected,.share-drawer-item.selected,.radio-option.selected{border-color:var(--warm-primary);box-shadow:0 0 0 2px #b86b2829}.canvas-wrap.drop-target:after{border-color:var(--warm-primary);background:#b86b281a;color:var(--warm-primary-strong)}.large-image-notice{border-color:#e2a64e;background:#fff5df;color:#6f4518;box-shadow:0 10px 30px #b86b2824}.primary,.account-entry,.top-nav a.selected,.mode-switch button.selected,.radio-option.selected,.auth-tabs button.selected,.segmented button.selected,.assemble-color-tabs button.selected,.assemble-source-tabs button.selected,.share-drawer-tabs button.selected{background:var(--warm-primary-strong);color:#fff;box-shadow:0 8px 18px #7f3f172e}.primary:hover,.account-entry:hover,.top-nav a.selected:hover,.mode-switch button.selected:hover,.segmented button.selected:hover,.assemble-source-tabs button.selected:hover,.share-drawer-tabs button.selected:hover{background:#7e3f17}.secondary,.secondary.compact,.icon-button,.zoom button,.share-drawer-tools .secondary.compact,.share-drawer-actions .secondary.compact,.large-image-actions .secondary{border:1px solid var(--warm-button-border);background:var(--warm-button-bg);color:var(--warm-button-text);box-shadow:inset 0 0 0 1px #ffffff8c}.secondary:hover,.secondary.compact:hover,.icon-button:hover,.zoom button:hover,.share-drawer-tools .secondary.compact:hover,.share-drawer-actions .secondary.compact:hover,.large-image-actions .secondary:hover{border-color:var(--warm-button-border-strong);background:var(--warm-button-hover);color:#4b250f}.toolbar-toggle,.quick-tools button,.palette-button,.assemble-color-check,.pattern-fullscreen-color,.share-drawer-tabs button,.assemble-source-tabs button{border-color:var(--warm-button-border);background:#fffdf8;color:var(--warm-button-text)}.toolbar-toggle:hover,.quick-tools button:hover,.palette-button:hover,.assemble-color-check:hover,.pattern-fullscreen-color:hover,.share-drawer-tabs button:hover,.assemble-source-tabs button:hover{border-color:var(--warm-button-border-strong);background:var(--warm-button-hover)}.top-nav a,.mode-switch button,.radio-option,.segmented button{color:var(--warm-button-text)}.top-nav a:not(.selected):hover,.mode-switch button:not(.selected):hover,.radio-option:not(.selected):hover,.segmented button:not(.selected):hover{background:#fff4e4;color:#4b250f}.share-drawer-actions .selected,.palette-button.selected,.color-cell.selected,.share-drawer-item.selected,.radio-option.selected{border-color:var(--warm-primary-strong)}.share-drawer-item.selected{background:#fffaf2}.share-drawer-detail-grid span,.share-drawer-colors span{color:var(--warm-muted)}.share-drawer-detail-grid strong,.share-drawer-colors p{color:var(--warm-text)}.primary:disabled,.secondary:disabled,.icon-button:disabled{box-shadow:none}
