:root{--bg: #e7ebf3;--bg-2: #dfe4ee;--panel: #ffffff;--ink: #263440;--ink-soft: #6b7889;--line: #d9e0ea;--brand: #ff7a45;--c-excel: #34b36a;--c-file: #4c9ae8;--stud: rgba(255, 255, 255, .6);--shadow: rgba(38, 51, 63, .16);--slot: rgba(255, 255, 255, .94);--slot-ink: #33404d;--sans: "Hiragino Maru Gothic ProN", "Yu Gothic UI", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "Cascadia Mono", Consolas, "Courier New", monospace}@media(prefers-color-scheme:dark){:root{--bg: #161b27;--bg-2: #12161f;--panel: #212838;--ink: #ecf1f9;--ink-soft: #98a4b8;--line: #2f3849;--brand: #ff8a5c;--c-excel: #45c47d;--c-file: #5ba6ee;--stud: rgba(255, 255, 255, .34);--shadow: rgba(0, 0, 0, .45);--slot: rgba(255, 255, 255, .92);--slot-ink: #2a3440}}:root[data-theme=dark]{--bg: #161b27;--bg-2: #12161f;--panel: #212838;--ink: #ecf1f9;--ink-soft: #98a4b8;--line: #2f3849;--brand: #ff8a5c;--c-excel: #45c47d;--c-file: #5ba6ee;--stud: rgba(255, 255, 255, .34);--shadow: rgba(0, 0, 0, .45);--slot: rgba(255, 255, 255, .92);--slot-ink: #2a3440}:root[data-theme=light]{--bg: #e7ebf3;--bg-2: #dfe4ee;--panel: #ffffff;--ink: #263440;--ink-soft: #6b7889;--line: #d9e0ea;--brand: #ff7a45;--c-excel: #34b36a;--c-file: #4c9ae8;--stud: rgba(255, 255, 255, .6);--shadow: rgba(38, 51, 63, .16);--slot: rgba(255, 255, 255, .94);--slot-ink: #33404d}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at 12% -5%,color-mix(in srgb,var(--c-file) 16%,transparent),transparent 40%),radial-gradient(circle at 92% -2%,color-mix(in srgb,var(--c-excel) 18%,transparent),transparent 42%),linear-gradient(180deg,var(--bg),var(--bg-2));background-attachment:fixed;-webkit-font-smoothing:antialiased;line-height:1.6}.app{max-width:1200px;margin:0 auto;padding:26px 22px 14px;height:100dvh;display:flex;flex-direction:column}.app-header{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.app-header-text{min-width:0}.app-title{margin:0 0 4px;font-size:1.9rem;font-weight:800;letter-spacing:-.01em}.app-tagline{margin:0;color:var(--ink-soft);font-size:.96rem}.app-main{display:grid;gap:18px;align-items:stretch;grid-template-columns:260px 1fr 350px;grid-template-areas:"palette work output";flex:1;min-height:0}.col-palette,.col-work,.col-output{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.col-palette,.col-work,.col-output{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .35s ease}.col-palette.is-scrolling,.col-work.is-scrolling,.col-output.is-scrolling,.col-palette:hover,.col-work:hover,.col-output:hover{scrollbar-color:color-mix(in srgb,var(--ink) 38%,transparent) transparent}.col-palette::-webkit-scrollbar,.col-work::-webkit-scrollbar,.col-output::-webkit-scrollbar{width:11px}.col-palette::-webkit-scrollbar-track,.col-work::-webkit-scrollbar-track,.col-output::-webkit-scrollbar-track{background:transparent;margin:14px 0}.col-palette::-webkit-scrollbar-thumb,.col-work::-webkit-scrollbar-thumb,.col-output::-webkit-scrollbar-thumb{background:transparent;border:3px solid transparent;background-clip:padding-box;border-radius:999px;transition:background-color .35s ease}.col-palette.is-scrolling::-webkit-scrollbar-thumb,.col-work.is-scrolling::-webkit-scrollbar-thumb,.col-output.is-scrolling::-webkit-scrollbar-thumb,.col-palette:hover::-webkit-scrollbar-thumb,.col-work:hover::-webkit-scrollbar-thumb,.col-output:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 38%,transparent);background-clip:padding-box}.col-palette::-webkit-scrollbar-thumb:hover,.col-work::-webkit-scrollbar-thumb:hover,.col-output::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 60%,transparent);background-clip:padding-box}.col-palette::-webkit-scrollbar-button,.col-work::-webkit-scrollbar-button,.col-output::-webkit-scrollbar-button{display:none}.col.col-palette{grid-area:palette;padding:0 4px 16px 15px}.col.col-work{grid-area:work;padding:0 4px 16px 15px}.col-output{grid-area:output}@media(max-width:960px){.app{height:auto;display:block;padding-bottom:60px}.app-main{grid-template-columns:220px 1fr;grid-template-areas:"palette work" "output  output";align-items:start}.col-palette,.col-work,.col-output{min-height:auto;overflow-y:visible}.col.col-palette,.col.col-work{padding:16px 15px}.col-palette .col-title,.col-work .col-title{position:static;margin:2px 2px 14px;padding:0;box-shadow:none}}@media(max-width:640px){.app-main{grid-template-columns:1fr;grid-template-areas:"palette" "work" "output"}}.col{background:var(--panel);border:1.5px solid var(--line);border-radius:22px;padding:16px 15px;box-shadow:0 10px 30px -18px var(--shadow)}.col-title{margin:2px 2px 14px;font-size:1.02rem;font-weight:800}.col-palette .col-title,.col-work .col-title{position:sticky;top:0;z-index:2;margin:0 -4px 12px -15px;padding:16px 6px 10px 17px;background:var(--panel);box-shadow:0 6px 8px -6px var(--shadow)}.col-output{display:flex;flex-direction:column;gap:14px}.row-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-decoration:none;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel) 82%,var(--brand) 18%));border:1.5px solid color-mix(in srgb,var(--brand) 34%,var(--line));border-radius:18px;padding:13px 15px;box-shadow:0 4px color-mix(in srgb,var(--brand) 24%,var(--line)),0 10px 18px -10px var(--shadow);transition:transform .12s,box-shadow .12s}.row-cta:hover{transform:translateY(-2px);box-shadow:0 6px color-mix(in srgb,var(--brand) 24%,var(--line)),0 14px 22px -10px var(--shadow)}.row-cta:active{transform:translateY(2px);box-shadow:0 2px color-mix(in srgb,var(--brand) 24%,var(--line)),0 6px 12px -10px var(--shadow)}.row-cta-text{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0;flex:1 1 auto}.row-cta-lead{font-size:.7rem;color:var(--ink-soft);font-weight:600}.row-cta-name{font-size:.9rem;color:var(--ink);font-weight:800}.row-cta-go{flex:0 0 auto;color:#fff;font-weight:800;font-size:.8rem;white-space:nowrap;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 90%,#fff 10%),var(--brand));padding:7px 12px;border-radius:10px;box-shadow:0 3px color-mix(in srgb,var(--brand) 66%,#000)}.bw-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-decoration:none;padding:11px 13px;border-radius:14px;background:var(--panel);border:1.5px solid var(--line);transition:transform .12s,box-shadow .12s,border-color .12s}.bw-cta-main{display:flex;align-items:center;gap:10px;width:100%}.bw-cta:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c-file) 45%,var(--line));box-shadow:0 8px 18px -10px var(--shadow)}.bw-cta-ico{font-size:1.2rem;line-height:1;flex:0 0 auto}.bw-cta-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.bw-cta-lead{font-size:.64rem;color:var(--ink-soft);font-weight:600}.bw-cta-name{font-size:.8rem;color:var(--ink);font-weight:800}.bw-cta-go{flex:0 0 auto;color:#fff;font-weight:800;font-size:.8rem;white-space:nowrap;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 90%,#fff 10%),var(--brand));padding:7px 12px;border-radius:10px;box-shadow:0 3px color-mix(in srgb,var(--brand) 66%,#000)}.brick{--brick: var(--c-excel);position:relative;border:none;width:100%;text-align:left;color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--brick) 88%,#fff 12%),var(--brick));border-radius:14px;padding:13px;font-family:var(--sans);cursor:pointer;box-shadow:0 5px color-mix(in srgb,var(--brick) 70%,#000),0 11px 16px -6px var(--shadow);transition:transform .13s cubic-bezier(.34,1.56,.64,1),box-shadow .13s}.brick:before{content:"";position:absolute;top:-7px;left:15px;right:15px;height:11px;background-image:radial-gradient(circle at 8px 6px,var(--stud) 5.5px,transparent 6px);background-size:22px 12px;background-repeat:repeat-x;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--brick) 60%,#000));pointer-events:none}.cat-lookup{--brick: var(--c-excel)}.cat-shape{--brick: var(--c-file)}.brick-row{display:flex;align-items:center;gap:9px}.brick-ico{font-size:1.3rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.brick-name{font-weight:800;font-size:.9rem;line-height:1.25}.palette-group{margin-bottom:6px}.palette-cat{display:flex;align-items:center;gap:7px;width:100%;margin:13px 0 9px;padding:5px 6px;border:none;background:transparent;font-family:var(--sans);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:8px;transition:background .12s,color .12s}.palette-cat:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.palette-cat:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.palette-group:first-child .palette-cat{margin-top:2px}.palette-cat-chevron{display:inline-block;font-size:.82rem;line-height:1;transition:transform .15s ease}.palette-group.collapsed .palette-cat-chevron{transform:rotate(-90deg)}.palette-cat-label{flex:1}.palette-cat-count{font-size:.62rem;font-weight:800;letter-spacing:0;color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:999px;padding:1px 7px}.palette-list{list-style:none;margin:0;padding:0}.palette-item{margin-top:16px}.purpose-card:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:0 8px color-mix(in srgb,var(--brick) 70%,#000),0 16px 22px -8px var(--shadow)}.purpose-card:active{transform:translateY(2px)}.purpose-card:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.purpose-card.selected{box-shadow:0 0 0 3px var(--panel),0 0 0 5.5px color-mix(in srgb,var(--brick) 80%,#000),0 8px color-mix(in srgb,var(--brick) 70%,#000),0 16px 22px -8px var(--shadow)}.purpose-summary{margin-top:7px;font-size:.73rem;line-height:1.5;color:#fffffff0;font-weight:600}.fillin{background:linear-gradient(180deg,color-mix(in srgb,var(--brick) 88%,#fff 12%),var(--brick));border-radius:16px;padding:14px 15px;box-shadow:0 5px color-mix(in srgb,var(--brick) 70%,#000),0 11px 16px -6px var(--shadow)}.fillin-head{display:flex;align-items:center;gap:9px}.fillin-ico{font-size:1.3rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.fillin-title{margin:0;font-weight:800;font-size:.95rem;line-height:1.25;color:#fff;text-shadow:0 1px 0 color-mix(in srgb,var(--brick) 55%,#000)}.fillin-summary{margin:9px 0 0;font-size:.76rem;color:#fffffff2;line-height:1.5}.fillin-fields{margin-top:10px;display:flex;flex-direction:column;gap:8px}.fillin-empty{margin:6px 0;padding:44px 16px;text-align:center;color:var(--ink-soft);border:2.5px dashed var(--line);border-radius:16px;font-size:.9rem}.sample{background:var(--slot);border-radius:10px;padding:10px 12px;margin-bottom:10px;overflow-x:auto}.sample-head{margin:0 0 2px;font-size:.76rem;font-weight:800;color:color-mix(in srgb,var(--brick) 52%,#000)}.sample-caption{margin:0 0 8px;font-size:.72rem;color:var(--slot-ink);opacity:.85;line-height:1.45}.sample-tables{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start}.sample-table-title{margin:0 0 3px;font-size:.66rem;font-weight:700;color:var(--slot-ink);opacity:.7}.sample-table{border-collapse:collapse;font-size:.72rem;color:var(--slot-ink)}.sample-table th,.sample-table td{border:1px solid color-mix(in srgb,var(--brick) 22%,var(--line));padding:2px 8px;text-align:left;white-space:nowrap}.sample-table th{background:color-mix(in srgb,var(--brick) 12%,#fff);font-weight:700}.sample-table td{background:#fff}.sample-table th.sample-hl{background:color-mix(in srgb,var(--brick) 30%,#fff)}.sample-table td.sample-hl{background:color-mix(in srgb,var(--brick) 12%,#fff);font-weight:800;color:color-mix(in srgb,var(--brick) 55%,#000)}.sample-collabel th{font-size:.62rem;font-weight:700;color:var(--ink-soft);text-align:center;background:color-mix(in srgb,var(--brick) 8%,#eef1f5)}.sample-collabel th.sample-hl{background:color-mix(in srgb,var(--brick) 26%,#fff);color:color-mix(in srgb,var(--brick) 60%,#000)}.sample-goal{margin-top:10px}.sample-goal-note{margin:0 0 4px;font-size:.72rem;font-weight:700;color:color-mix(in srgb,var(--brick) 52%,#000)}.sample-goal-formula{margin:0;padding:8px 10px;background:#10141f;color:#dfe6f2;border-radius:8px;font-family:var(--mono);font-size:.72rem;line-height:1.5;white-space:pre-wrap;word-break:break-all}.field{display:flex;flex-direction:column;gap:3px;background:var(--slot);border-radius:10px;padding:8px 11px}.field-label{font-size:.74rem;font-weight:800;color:color-mix(in srgb,var(--brick) 52%,#000)}.field-help{color:color-mix(in srgb,var(--brick) 45%,#000);font-size:.68rem;margin:0}.field input[type=text],.field input[type=number],.field select{width:100%;color:var(--slot-ink);font-family:var(--sans);font-size:.9rem;border:1.5px solid color-mix(in srgb,var(--brick) 32%,var(--line));border-radius:8px;padding:6px 9px;background:#fff}.field input::placeholder{color:color-mix(in srgb,var(--slot-ink) 45%,#fff)}.field select{cursor:pointer;font-weight:700;background:color-mix(in srgb,var(--brick) 9%,#fff);border-color:color-mix(in srgb,var(--brick) 45%,var(--line))}.field select:hover{background:color-mix(in srgb,var(--brick) 16%,#fff);border-color:color-mix(in srgb,var(--brick) 62%,var(--line))}.field input:focus,.field select:focus{outline:none;border-color:color-mix(in srgb,var(--brick) 70%,#000);box-shadow:0 0 0 2.5px color-mix(in srgb,var(--brick) 22%,transparent)}.field.field-missing{box-shadow:0 0 0 2.5px #e5484d;background:color-mix(in srgb,#e5484d 10%,var(--slot))}.field.field-missing:after{content:"必須：埋めてね";display:block;margin-top:4px;color:#c62828;font-size:.66rem;font-weight:800}.output-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.output-title{margin:0;font-size:1.02rem;font-weight:800}.copy-btn{border:none;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 90%,#fff 10%),var(--brand));color:#fff;font-family:var(--sans);font-weight:800;font-size:.88rem;padding:9px 15px;border-radius:12px;box-shadow:0 4px color-mix(in srgb,var(--brand) 66%,#000),0 10px 16px -8px var(--shadow);transition:transform .12s,box-shadow .12s}.copy-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px color-mix(in srgb,var(--brand) 66%,#000),0 14px 20px -8px var(--shadow)}.copy-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px color-mix(in srgb,var(--brand) 66%,#000)}.copy-btn:disabled{opacity:.5;cursor:not-allowed}.output-formula{margin:0;padding:13px;background:#10141f;color:#dfe6f2;border-radius:14px;font-family:var(--mono);font-size:.8rem;line-height:1.55;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;white-space:pre-wrap;word-break:break-all;max-height:60vh;overflow:auto;box-shadow:inset 0 0 0 1.5px #ffffff0f}.output-hint{margin:10px 2px 0;font-size:.78rem;color:var(--ink-soft)}.output-empty{margin:0;font-size:.85rem;color:var(--ink-soft)}.output-warning{margin:0 0 10px;padding:9px 13px;border-radius:11px;background:color-mix(in srgb,#e5484d 12%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,#e5484d 40%,transparent);color:#b3261e;font-size:.78rem;font-weight:700;line-height:1.5}.output-saved{margin:0 0 10px;padding:9px 13px;border-radius:11px;background:color-mix(in srgb,var(--brand) 14%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 40%,transparent);color:color-mix(in srgb,var(--brand) 42%,#000);font-size:.82rem;font-weight:700;line-height:1.5}.output-saved strong{font-size:.95rem}.howto-link{margin-left:6px;padding:0;border:none;background:none;cursor:pointer;font-family:var(--sans);font-size:.78rem;font-weight:700;color:var(--brand);text-decoration:underline;text-underline-offset:2px}.howto-link:hover{text-decoration-thickness:2px}.howto-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#12161f99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.howto-modal{width:min(560px,100%);max-height:88vh;overflow:auto;padding:18px 20px 20px;border-radius:18px;background:var(--panel);color:var(--ink);box-shadow:0 24px 50px -12px #00000080}.howto-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.howto-title{margin:0;font-size:1rem;font-weight:800}.howto-close{flex:0 0 auto;width:30px;height:30px;border:none;border-radius:9px;cursor:pointer;background:var(--bg-2);color:var(--ink-soft);font-size:.9rem;line-height:1}.howto-close:hover{background:var(--line);color:var(--ink)}.howto-lead{margin:8px 0 14px;font-size:.82rem;color:var(--ink-soft);line-height:1.55}.howto-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.howto-step-text{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:.8rem;font-weight:700}.howto-step-no{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:.72rem;font-weight:800}.howto-step-img{display:block;width:100%;max-width:100%;border-radius:10px;padding:6px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 2px 8px -4px var(--shadow)}.howto-tip{margin:14px 0 0;padding:9px 12px;border-radius:11px;background:color-mix(in srgb,var(--brand) 12%,var(--panel));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--brand) 32%,transparent);font-size:.76rem;line-height:1.5;color:var(--ink)}.howto-ok{display:block;width:100%;margin-top:14px;border:none;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 90%,#fff 10%),var(--brand));color:#fff;font-family:var(--sans);font-weight:800;font-size:.85rem;padding:10px;border-radius:12px;box-shadow:0 4px color-mix(in srgb,var(--brand) 66%,#000)}.howto-ok:active{transform:translateY(2px);box-shadow:0 2px color-mix(in srgb,var(--brand) 66%,#000)}.app-footer{margin-top:26px;text-align:center}.footer-privacy{margin:0;font-size:.7rem;color:var(--ink-soft);opacity:.7;text-align:center}.footer-privacy a{color:var(--brand);font-weight:600;text-decoration:none}.footer-privacy a:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
