:root{color:#1c2526;background:#eef2ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#eef2ef}button,input,select,textarea{font:inherit}button{min-height:36px;border:1px solid #cbd6d1;border-radius:8px;background:#fff;color:#1c2526;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}button:hover{border-color:#23756f}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1800px,calc(100vw - 28px));margin:0 auto;padding:16px 0 28px}.app-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:1px solid #171d1e;border-radius:8px;background:#0d1112;color:#f5faf6}.brand-lockup{min-width:0;display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;display:grid;grid-template-columns:repeat(3,8px);grid-auto-rows:8px;gap:5px;place-content:center;border:1px solid #354042;border-radius:8px;background:#171d1e}.brand-mark span{border-radius:50%;background:#e8f2ec}.app-header p{margin:0;color:#f5faf6;font-size:1.34rem;font-weight:900;letter-spacing:0}.app-header h1{margin:6px 0 0;color:#b8c4c0;font-size:.92rem;font-weight:650;line-height:1.2;letter-spacing:0}.top-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.top-nav button{min-height:38px;padding:0 14px;border-color:transparent;background:transparent;color:#e8f1ee;font-size:.86rem;font-weight:900}.top-nav button.active{background:#fff;border-color:#fff;color:#121819}.top-nav button:last-child{border-color:#fff;border-radius:999px;background:#fff;color:#121819}.member-panel{display:grid;gap:14px;margin-top:12px;border:1px solid #222c2e;border-radius:8px;background:#0d1112;box-shadow:0 18px 36px #0a10103d;color:#f5faf6;padding:16px}.surface-note{margin:0;color:#536963;font-size:.9rem;font-weight:750;line-height:1.5}.member-panel .surface-note,.member-panel .panel-heading,.member-panel .panel-heading h2{color:#eef5f2}.member-panel .panel-heading svg{color:#d8e6e1}.auth-grid,.community-compose,.contact-compose{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}.auth-mode-tabs{display:inline-flex;width:fit-content;gap:6px;border:1px solid #2c393b;border-radius:8px;background:#151d1f;padding:4px}.auth-mode-tabs button{border-color:transparent;background:transparent;color:#d8e6e1}.auth-mode-tabs button.active{background:#fff;color:#101617}.member-summary,.signin-required{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #2c393b;border-radius:8px;background:#151d1f;padding:12px}.member-summary.compact{justify-content:flex-start}.member-summary span,.signin-required span{color:#aebfba;font-size:.86rem;font-weight:800}.member-summary strong,.signin-required strong{color:#f5faf6}.dev-code{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #344244;border-radius:8px;background:#182123;padding:10px 12px}.dev-code span{color:#aebfba;font-size:.8rem;font-weight:850}.dev-code strong{color:#f5faf6;font-size:1.1rem;letter-spacing:.06em}.board-tabs{display:flex;gap:8px;flex-wrap:wrap}.board-tabs button.active{background:#fff;border-color:#fff;color:#101617}.community-compose,.contact-compose{align-items:stretch;border:1px solid #2c393b;border-radius:8px;background:#151d1f;padding:12px}.community-compose .field:nth-child(2),.contact-compose .field:last-of-type{grid-column:1 / -1}.community-compose button,.contact-compose button,.auth-submit{grid-column:1 / -1;justify-self:end}.post-list,.plain-list{display:grid;gap:10px}.post-card{display:grid;gap:10px;border:1px solid #2c393b;border-radius:8px;background:#151d1f;padding:12px}.post-head,.comment-row,.comment-compose{display:flex;align-items:center;gap:10px}.post-head{justify-content:space-between}.post-head span,.comment-row strong{color:#aebfba;font-size:.78rem}.post-head strong{color:#f5faf6}.post-card p{margin:0;color:#d8e6e1;line-height:1.5}.comment-list{display:grid;gap:6px}.comment-row{justify-content:flex-start;border:1px solid #2c393b;border-radius:8px;background:#0f1516;padding:7px 9px}.comment-row span{color:#d8e6e1}.comment-compose input{flex:1;min-width:160px}.plain-list span{border:1px solid #2c393b;border-radius:8px;background:#151d1f;padding:12px;color:#eef5f2;font-weight:850}.combination-table-wrap{overflow-x:auto;border:1px solid #2c393b;border-radius:8px;background:#151d1f}.combination-table{width:100%;border-collapse:collapse;min-width:760px}.combination-table th,.combination-table td{border-bottom:1px solid #293537;padding:10px 12px;text-align:left;vertical-align:middle}.combination-table th{background:#0f1516;color:#b8c4c0;font-size:.78rem;font-weight:900}.combination-table td{color:#eef5f2;font-size:.86rem}.combination-table td strong,.combination-table td span{display:block}.combination-table td span{margin-top:3px;color:#94a7a2;font-size:.74rem;font-weight:750}.table-actions{display:flex;flex-wrap:wrap;gap:6px}.strategy-share-card{display:grid;gap:4px;border:1px solid #344244;border-radius:8px;background:#0f1516;padding:10px 12px}.strategy-share-card span,.strategy-share-card code{color:#aebfba;font-size:.78rem}.strategy-share-card strong{color:#f5faf6}.strategy-share-image{width:min(420px,100%);border:1px solid #344244;border-radius:8px;background:#0f1516;object-fit:cover}.recommend-button{width:fit-content;min-height:32px;padding:0 10px;border-color:#344244;background:#0f1516;color:#eef5f2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0d11127a;padding:18px}.modal-panel{width:min(640px,100%);max-height:min(84vh,760px);overflow:auto;display:grid;gap:12px;border:1px solid #d7dedb;border-radius:8px;background:#fff;box-shadow:0 24px 60px #0a101040;color:#172221;padding:16px}.modal-panel.large{width:min(980px,100%)}.modal-panel.small{width:min(420px,100%)}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.modal-message{margin:0;color:#536963;font-weight:760;line-height:1.55}.modal-code{max-height:58vh;overflow:auto;margin:0;border:1px solid #d6e1dc;border-radius:8px;background:#111819;color:#f1faf6;padding:12px;font-size:.78rem;line-height:1.5}.site-page,.auth-page{margin-top:12px;min-height:calc(100vh - 136px);display:grid;justify-items:center;align-items:start;border-radius:8px;background:#eef2ef;padding:44px 16px}.auth-shell{width:min(430px,100%);display:grid;gap:18px}.auth-back{justify-self:start}.auth-brand{display:grid;justify-items:center;gap:8px;text-align:center}.auth-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(90deg,transparent 43%,#ffffff 43% 57%,transparent 57%),linear-gradient(0deg,transparent 43%,#ffffff 43% 57%,transparent 57%),#101617}.auth-brand strong{color:#101617;font-size:1.38rem;font-weight:950}.auth-brand p,.site-card-head p{margin:0;color:#667771;font-size:.86rem;font-weight:760;line-height:1.45}.auth-card,.site-card{width:100%;display:grid;gap:16px;border:1px solid #d7dedb;border-radius:8px;background:#fff;box-shadow:0 18px 40px #22302e14;padding:22px}.site-card{width:min(980px,100%)}.site-card.wide{width:min(1120px,100%)}.site-card.narrow,.contact-card{width:min(620px,100%)}.auth-card-head,.site-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.auth-card-head{display:grid;justify-items:center;text-align:center}.site-card-head.centered{justify-content:center;text-align:center}.auth-card-head h2,.site-card-head h2{margin:0;color:#101617;font-size:1.18rem;line-height:1.2;letter-spacing:0}.site-card-head span{display:block;margin-bottom:5px;color:#23756f;font-size:.72rem;font-weight:950}.auth-notice{border:1px solid #dbe5e1;border-radius:8px;background:#f7faf8;color:#536963;padding:10px 12px;font-size:.8rem;font-weight:780;line-height:1.45}.auth-form,.contact-compose.light,.community-write-card{display:grid;gap:12px}.auth-links,.write-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.text-action{min-height:28px;border-color:transparent;background:transparent;color:#23756f;padding:0;font-size:.8rem;font-weight:850}.secondary-action{background:#fff;border-color:#cbd6d1;color:#172221;font-weight:900}.auth-status,.site-status{margin:0;border:1px solid #dbe5e1;border-radius:8px;background:#f7faf8;color:#36564f;padding:10px 12px;font-size:.82rem;font-weight:780;line-height:1.45}.auth-summary,.mypage-stats>div{display:grid;gap:4px;border:1px solid #dbe5e1;border-radius:8px;background:#f7faf8;padding:12px}.auth-summary span,.mypage-stats span{color:#667771;font-size:.76rem;font-weight:850}.auth-summary strong,.mypage-stats strong{color:#101617;font-size:.96rem}.board-tabs.light{border-bottom:1px solid #e2e9e5;padding-bottom:10px}.board-tabs.light button{border-color:#d4dfda;background:#f7faf8;color:#2d3c39;font-size:.82rem;font-weight:900}.board-tabs.light button.active{border-color:#101617;background:#101617;color:#fff}.community-table-wrap{overflow-x:auto;border:1px solid #d7dedb;border-radius:8px}.community-table{width:100%;min-width:760px;border-collapse:collapse}.community-table th,.community-table td{border-bottom:1px solid #e2e9e5;padding:13px 14px;text-align:left;vertical-align:top}.community-table th{background:#f7faf8;color:#526761;font-size:.78rem;font-weight:950}.community-table tr{cursor:pointer}.community-table tbody tr:hover{background:#f8fbf9}.community-table td{color:#263533;font-size:.86rem;font-weight:760}.community-table td strong,.community-table td span{display:block}.community-table td span{max-width:520px;overflow:hidden;color:#6a7d78;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.community-detail{display:grid;gap:15px}.detail-meta{display:flex;gap:10px;flex-wrap:wrap;color:#667771;font-size:.78rem;font-weight:850}.community-detail p,.content-detail p,.community-write-card p{margin:0;color:#354844;line-height:1.6;font-weight:720}.attached-image-preview{display:grid;gap:8px;justify-items:start;border:1px solid #dbe5e1;border-radius:8px;background:#f7faf8;padding:10px}.attached-image-preview img{width:min(360px,100%);max-height:220px;border-radius:8px;object-fit:cover}.comment-section{display:grid;gap:10px;border-top:1px solid #e2e9e5;padding-top:14px}.comment-section h3{margin:0;color:#101617;font-size:.95rem}.comment-row.light,.comment-compose.light{border:1px solid #dbe5e1;border-radius:8px;background:#f7faf8;padding:9px}.comment-row.light strong,.comment-row.light span{color:#23302f}.strategy-share-card.light{border-color:#dbe5e1;background:#f7faf8}.strategy-share-card.light strong{color:#101617}.strategy-share-card.light span,.strategy-share-card.light code{color:#536963}.strategy-share-image.large{width:min(680px,100%);max-height:360px}.recommend-button.light{border-color:#cbd6d1;background:#fff;color:#172221}.mypage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.combination-table-wrap.light{border-color:#d7dedb;background:#fff}.combination-table.light th,.combination-table.light td{border-bottom-color:#e2e9e5}.combination-table.light th{background:#f7faf8;color:#526761}.combination-table.light td{color:#263533}.combination-table.light td span{color:#6a7d78}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.content-card{min-height:260px;display:grid;grid-template-rows:128px auto auto 1fr;gap:9px;align-items:start;border-color:#d7dedb;background:#fff;text-align:left;padding:0 0 14px;overflow:hidden}.content-card span:not(.content-thumb),.content-card strong,.content-card small{margin:0 14px}.content-card span:not(.content-thumb){color:#23756f;font-size:.72rem;font-weight:950}.content-card strong{color:#101617;font-size:.98rem;line-height:1.35}.content-card small{color:#667771;font-size:.78rem;font-weight:760;line-height:1.45}.content-thumb,.content-hero{width:100%;min-height:128px;display:block;object-fit:cover;background:linear-gradient(135deg,#101617eb,#1f6f68a8),repeating-linear-gradient(90deg,rgba(255,255,255,.15) 0 1px,transparent 1px 16px)}.content-thumb.tone-2{background:linear-gradient(135deg,#51381ee6,#c37e43b3),repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 16px)}.content-thumb.tone-3{background:linear-gradient(135deg,#1e3e51e6,#557795ad),repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 1px,transparent 1px 15px)}.content-detail{display:grid;gap:16px}.content-hero{border-radius:8px}.content-head-actions,.admin-token-row,.admin-form-head,.admin-content-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.content-head-actions{justify-content:flex-end}.content-admin-panel{display:grid;gap:14px;border:1px solid #d7dedb;border-radius:8px;background:#f7faf8;padding:14px}.admin-token-row{align-items:end}.admin-token-row .field{flex:1 1 280px}.content-admin-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);gap:14px}.content-admin-form,.content-admin-list{display:grid;align-content:start;gap:11px;border:1px solid #dbe5e1;border-radius:8px;background:#fff;padding:14px}.admin-form-head{justify-content:space-between}.admin-form-head strong,.content-admin-list>strong{color:#101617;font-size:.95rem}.admin-two-col{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:10px}.field textarea.tall{min-height:180px}.admin-check{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:#263533;font-size:.84rem;font-weight:850}.admin-check input{width:17px;height:17px}.admin-content-row{align-items:stretch;border:1px solid #dbe5e1;border-radius:8px;background:#f7faf8;padding:8px}.admin-content-title{flex:1 1 260px;min-height:54px;display:grid;justify-items:start;gap:2px;border-color:transparent;background:transparent;text-align:left;padding:6px}.admin-content-title span,.admin-content-title small{color:#667771;font-size:.72rem;font-weight:850}.admin-content-title strong{color:#101617;font-size:.88rem}.danger-action{color:#9d2f24}.main-grid{display:grid;grid-template-columns:minmax(330px,.84fr) minmax(330px,.84fr) minmax(500px,1.18fr);gap:16px;align-items:start;margin-top:12px}.panel{border:1px solid #d7dedb;border-radius:8px;background:#fff;box-shadow:0 10px 24px #22302e0f;padding:14px}.assembly-panel,.pine-panel{padding:14px}.pine-panel{margin-top:12px}.panel-heading,.lane-title,.dock-title,.pine-controls{display:flex;align-items:center;gap:8px}.panel-heading{min-height:30px;color:#23302f}.panel-heading h2,.lane-title h3{margin:0;font-size:.98rem;line-height:1.2;letter-spacing:0}.signal-panel .panel-heading svg,.signal{color:#b6472f}.filter-panel .panel-heading svg,.filter{color:#236f89}.category-shell{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;margin:12px 0}.rail-arrow{width:36px;min-height:34px;padding:0;background:#f7faf8}.category-viewport{position:relative;min-width:0}.category-viewport:before,.category-viewport:after{content:"";position:absolute;top:0;bottom:0;width:20px;z-index:2;pointer-events:none}.category-viewport:before{left:0;background:linear-gradient(90deg,#fbfdfb,#fbfdfb00)}.category-viewport:after{right:0;background:linear-gradient(270deg,#fbfdfb,#fbfdfb00)}.category-tabs{min-width:0;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:0 3px 4px}.category-tabs button{flex:0 0 auto;min-height:34px;padding:0 13px;scroll-snap-align:center;background:#eef4f1;font-size:.82rem;font-weight:850;white-space:nowrap}.category-tabs button.active{background:#111718;border-color:#111718;color:#fff}.catalog-grid{display:grid;gap:8px}.catalog-card{min-height:82px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"grip copy" "grip expand";gap:0;align-items:stretch;border:1px solid #d0dbd6;border-radius:8px;background:#fff;padding:0;overflow:hidden;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.catalog-card:hover{border-color:#23756f;box-shadow:0 8px 18px #2648421f;transform:translateY(-1px)}.catalog-card.signal,.catalog-card.filter{border-left-color:#d0dbd6}.catalog-card.is-selected{border-color:#111718;box-shadow:0 0 0 1px #111718}.drag-grip{grid-area:grip;display:grid;place-items:center;align-self:stretch;color:#6e7e7a;background:#f1f4f2;border-right:1px solid #e1e7e4}.catalog-card-copy{grid-area:copy;min-width:0;display:grid;gap:4px;padding:13px 14px 13px 12px}.catalog-card-copy strong,.assembled-brick strong{color:#1c2526;font-size:.92rem;line-height:1.25}.catalog-card-copy small{color:#536963;font-size:.78rem;font-weight:750;line-height:1.4}.catalog-card-expanded{grid-area:expand;display:grid;gap:12px;border-top:1px solid #e4ebe7;padding:13px 14px 14px 12px}.selected-brick-panel{display:grid;gap:10px;margin-top:12px;border:1px solid #cbd6d1;border-radius:8px;background:#f7faf8;padding:12px}.selected-brick-panel.signal{border-left:5px solid #c9553b}.selected-brick-panel.filter{border-left:5px solid #277a98}.selected-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.selected-panel-title span{color:#667771;font-size:.76rem;font-weight:900}.selected-panel-title h3{margin:2px 0 0;color:#172221;font-size:.96rem;line-height:1.25}.selected-description{margin:5px 0 0;color:#536963;font-size:.8rem;font-weight:760;line-height:1.45}.selected-add{justify-self:center;min-height:34px;padding:0 14px;background:#fff;border-color:transparent;color:#176f67;font-size:.78rem;font-weight:900}.selected-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.parameter-field{min-width:0;display:grid;gap:5px}.parameter-field span{color:#3c4d49;font-size:.76rem;font-weight:900}.parameter-field input,.parameter-field select{width:100%;min-height:34px;border:1px solid #cbd6d1;border-radius:8px;background:#fff;color:#172221;padding:0 9px}.parameter-field.checkbox{min-height:34px;display:flex;align-items:center;gap:8px;border:1px solid #d6e1dc;border-radius:8px;background:#fff;padding:0 9px}.parameter-field.checkbox input{width:16px;min-height:16px;padding:0}.input-label{display:inline-flex;align-items:center;gap:5px;min-width:0}.tooltip-dot{width:20px;min-width:20px;height:20px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd6d1;border-radius:999px;background:#f4f8f6;color:#37554f;padding:0}.input-help{display:none;color:#60746f;font-size:.72rem;font-weight:750;line-height:1.35}.no-input-note{margin:0;color:#667771;font-size:.78rem;font-weight:800;text-align:center}.field{display:grid;gap:5px}.field span{color:#4e615e;font-size:.78rem;font-weight:850}.field input,.field textarea,.connector{width:100%;min-height:34px;border:1px solid #cbd6d1;border-radius:8px;background:#fff;color:#172221;padding:0 10px}.field textarea{min-height:96px;resize:vertical;padding:9px 10px}.member-panel .field span{color:#b8c4c0}.member-panel .field input,.member-panel .field textarea{border-color:#344244;background:#0f1516;color:#f5faf6}.member-panel .field input::placeholder,.member-panel .field textarea::placeholder{color:#7f9290}.member-panel button{border-color:#344244;background:#151d1f;color:#eef5f2}.member-panel button:hover{border-color:#d8e6e1}.member-panel .primary-action,.member-panel .auth-submit{border-color:#fff;background:#fff;color:#101617}.member-panel .primary-action:hover,.member-panel .auth-submit:hover{border-color:#fff;background:#d8e6e1}.member-panel .status-line{color:#d8e6e1}.primary-action,.copied-action{background:#1f6f68;border-color:#1f6f68;color:#fff;font-weight:900}.copied-action{background:#2f7c43;border-color:#2f7c43}.lane-title{justify-content:space-between;margin-top:12px}.lane-title span{min-width:28px;display:inline-flex;justify-content:center;border-radius:8px;padding:4px 8px;background:#e2eee9;color:#24433d;font-weight:900}.drop-zone{min-height:84px;display:grid;align-items:stretch;gap:8px;overflow-x:visible;border:2px dashed #c6d5d0;border-radius:8px;background:#f7faf8;padding:10px;scrollbar-width:thin;transition:border-color .16s ease,background .16s ease}.drop-zone.drag-active{border-color:#1f6f68;background:#eaf6f1}.filter-zone{align-items:stretch;overflow-x:visible}.filter-zone .assembled-piece{min-width:0}.filter-zone .assembled-brick{flex:1 1 auto;min-width:0;max-width:none}.filter-zone .mini-actions{grid-template-columns:repeat(3,26px);gap:3px}.filter-zone .mini-actions button{width:26px;min-height:28px}.filter-zone .connector{width:58px;flex:0 0 58px}.signal-zone{align-items:stretch}.snap-placeholder{min-height:58px;display:grid;place-items:center;border:1px dashed #9eb1ad;border-radius:8px;background:#fff;color:#63736f;font-weight:800}.assembled-piece{display:grid;gap:8px}.assembled-row{display:flex;align-items:center;gap:7px}.assembled-brick{width:100%;min-width:0;max-width:330px;min-height:62px;display:inline-flex;justify-content:flex-start;text-align:left;padding:9px;background:#fff}.assembled-brick.signal{border-left:5px solid #c9553b}.assembled-brick.filter{border-left:5px solid #277a98}.assembled-brick.is-selected{border-color:#111718;box-shadow:0 0 0 1px #111718}.assembled-brick span{min-width:0;display:grid;gap:2px}.mini-actions{display:grid;grid-template-columns:repeat(3,30px);gap:4px}.mini-actions button,.slot-remove{width:30px;min-height:30px;padding:0;background:#fff}.connector{width:58px;flex:0 0 58px;font-weight:900;text-align:center}.filter-piece .assembled-row,.signal-piece .assembled-row{min-width:0}.filter-piece .assembled-brick,.signal-piece .assembled-brick{max-width:none}.assembly-summary{border-radius:8px;background:#111718;color:#f4faf7;padding:10px 12px;font-size:.78rem;font-weight:850;line-height:1.45}.sell-switch-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid #c9d9d4;border-radius:8px;background:#fff;padding:10px 12px;color:#2f4541;font-size:.86rem;font-weight:900}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:48px;height:26px;display:inline-flex;align-items:center;border-radius:999px;background:#b9c9c4;padding:3px;transition:background .16s ease}.switch-thumb{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #1a2a2a38;transform:translate(0);transition:transform .16s ease}.switch.on .switch-track{background:#1f6f68}.switch.on .switch-thumb{transform:translate(22px)}.switch strong{min-width:28px;color:#1f6f68;font-size:.78rem}.status-line{margin:8px 0 0;color:#1f6f68;font-size:.82rem;font-weight:900}.validation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.validation-grid span{min-height:44px;display:flex;align-items:center;gap:8px;border-radius:8px;padding:8px 9px;font-size:.82rem;font-weight:900}.validation-grid span.ok{background:#e7f5e9;color:#256d38}.validation-grid span.blocked{background:#f9ece8;color:#a43d28}.validation-grid span.neutral{background:#eef3f0;color:#596b67}.pine-controls{flex-wrap:wrap;margin-top:12px}.script-name{min-width:min(420px,100%);flex:1}.strategy-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd6d1;border-radius:8px;background:#eef4f1;padding:4px}.strategy-toggle button{min-height:30px;border-color:transparent;background:transparent;padding:0 10px;font-size:.8rem;font-weight:900}.strategy-toggle button.active{background:#1f6f68;color:#fff}.risk-grid{display:grid;grid-template-columns:repeat(2,minmax(86px,116px));gap:8px}.generation-status{min-height:28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0;color:#1f6f68;font-weight:900}.generation-status strong{color:#9c4a12;margin:0;line-height:1.45}.code-shell{border:1px solid #222c2e;border-radius:8px;overflow:hidden;background:#111719}.code-titlebar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #2c393b;background:#182123;color:#d8e6e1;padding:0 12px;font-size:.8rem;font-weight:800}.window-dots{display:flex;gap:6px}.window-dots span{width:10px;height:10px;border-radius:50%}.window-dots span:nth-child(1){background:#d65b55}.window-dots span:nth-child(2){background:#d49b31}.window-dots span:nth-child(3){background:#3fa568}.code-preview{min-height:320px;max-height:540px;margin:0;overflow:auto;padding:12px 0;color:#e8f1ee;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.82rem;line-height:1.55}.code-line{min-width:max-content;display:grid;grid-template-columns:48px minmax(700px,1fr)}.line-number{-webkit-user-select:none;user-select:none;color:#6e8181;text-align:right;padding:0 12px}.code-line code{white-space:pre;padding-right:16px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1280px){.main-grid{grid-template-columns:minmax(280px,.85fr) minmax(280px,.85fr) minmax(390px,1.2fr);gap:12px}}@media(max-width:900px){.app-shell{width:min(100vw - 18px,760px);padding-top:10px}.app-header{display:grid;align-items:start}.app-header h1{font-size:1.25rem}.main-grid,.validation-grid,.selected-input-grid{grid-template-columns:1fr}.drop-zone,.assembled-piece{align-items:stretch}.assembled-brick{min-width:235px}.pine-controls>button{width:100%}.auth-grid,.community-compose,.contact-compose,.risk-grid{grid-template-columns:1fr}.site-page,.auth-page{padding:22px 8px}.auth-card,.site-card{padding:16px}.site-card-head{display:grid}.content-grid,.mypage-stats,.content-admin-grid,.admin-two-col{grid-template-columns:1fr}.content-card{min-height:230px}.strategy-toggle{width:100%}.strategy-toggle button{flex:1}}
