.shell{display:grid;grid-template-rows:minmax(var(--crumb-height),auto) 1fr;grid-template-columns:var(--rail-width) 1fr;height:calc(100dvh / var(--app-zoom, 1));width:100%;color:var(--text)}.shell-rail{grid-row:1/3;grid-column:1}.shell-crumb{grid-row:1;grid-column:2}.shell-workspace{grid-row:2;grid-column:2}.shell:has(.shell-rail.collapsed){grid-template-columns:56px 1fr}

/* ! --------------------------------------------------
- コンテナ
-------------------------------------------------- */.l-container{max-width:1280px;width:100%;margin:0 auto;&.full{max-width:inherit}&.w-1200{max-width:1200px}&.w-1000{max-width:1000px}&.w-800{max-width:800px}&.w-640{max-width:640px}&.w-560{max-width:560px}&.w-480{max-width:480px}}

/* ! --------------------------------------------------
- ブレークポイント（min-width。@media (--md) のように使う）
-------------------------------------------------- */

/* ! --------------------------------------------------
- グリッド
-------------------------------------------------- */.l-grid{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}@media (min-width:769px){.l-grid--2{grid-template-columns:1fr 1fr}.l-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.shell-rail{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column}.rail-brand{flex:0 0 auto;padding:1rem .5rem;border-bottom:1px solid var(--line);max-height:3.5rem}.rail-brand,.rail-logo{display:flex;align-items:center;gap:.5rem}.rail-logo{flex:1;min-width:0;padding:0 .5rem}.rail-logo-img{display:block;height:1.75rem;width:auto;max-width:100%}.rail-logo-img[src$="logo_mark.svg"],.shell-rail.collapsed .rail-logo-img[src$="logo.svg"],:root[data-rail-collapsed] .shell-rail:not(.admin) .rail-logo-img[src$="logo.svg"]{display:none}.shell-rail.collapsed .rail-logo-img[src$="logo_mark.svg"],:root[data-rail-collapsed] .shell-rail:not(.admin) .rail-logo-img[src$="logo_mark.svg"]{display:block;height:1.5rem}:root[data-rail-collapsed] .shell:not(:has(.shell-rail.admin)){grid-template-columns:56px 1fr}:root[data-rail-collapsed] .shell-rail:not(.admin) :is(.label,.rail-plan,.rail-account-text){display:none}.rail-logo-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-highlight);background:var(--accent-vivid);color:var(--accent-vivid-ink);font-size:1rem;font-weight:700}.rail-logo-text{min-width:0;display:flex;flex-direction:column;gap:.125rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-logo-name{font-size:.875rem;font-weight:700;color:var(--text-strong)}.rail-logo-sub{font-size:.625rem;color:var(--dim)}.rail-collapse-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-chip);cursor:pointer;svg{color:var(--text)}&:hover{background:var(--panel-2)}&[data-tooltip]{&:focus-visible:after,&:hover:after{opacity:1;visibility:visible}}}.rail-collapse-btn:hover{background:var(--panel-2);color:var(--text)}.rail-collapse-icon--flipped{transform:scaleX(-1)}.rail-cta{flex:0 0 auto;margin:.5rem 1rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;border-radius:var(--radius-chip);background:var(--accent-vivid);color:var(--accent-vivid-ink);font-size:.875rem;font-weight:700;text-decoration:none}.rail-cta:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rail-switch{flex:0 0 auto;display:flex;align-items:center;gap:.5rem;margin:1rem .5rem .5rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);color:var(--text);font-size:.8125rem;font-weight:600;text-decoration:none}.rail-switch:hover{background:var(--accent-soft);border-color:var(--accent-vivid);color:var(--accent-vivid-text)}.rail-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rail-switch-arrow{margin-left:auto;color:var(--dim)}.rail-switch:hover .rail-switch-arrow{color:inherit}.shell-rail.collapsed .rail-switch{justify-content:center;margin:0 .5rem .5rem;padding:.375rem .25rem}.shell-rail.collapsed .rail-switch-arrow{display:none}.rail-analyzing-wrap{flex:0 0 auto;margin:0 12px 4px}.rail-analyzing-wrap .topbar-analyzing{width:100%;box-sizing:border-box}.rail-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:var(--radius-chip);min-height:2.5rem;&:hover,svg{color:var(--text)}&.active,&:hover,&[aria-current=page]{background:var(--rail-active-bg)}&.active,&[aria-current=page]{color:var(--btn-outline-ink);pointer-events:none;.label{color:var(--accent-vivid-text);font-weight:700}svg{color:var(--accent-vivid-text)}&.rail-item--parent{pointer-events:auto}}.label{color:var(--text-strong);font-size:.875rem;line-height:1.2}}.rail-section{padding:.5rem;>span{display:block;font-size:.75rem;color:var(--dim-2);margin:0 .25rem .5rem;padding-top:1rem;border-top:1px solid var(--line)}ul{display:flex;flex-direction:column;gap:.25rem;flex:auto}}.rail-spacer{flex:1 1 auto}.rail-account{position:relative;border-top:1px solid var(--line);padding:.5rem}.rail-account-trigger{width:100%;display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-chip);padding:.5rem;cursor:pointer;&:hover{background:var(--panel-2)}}.rail-avatar{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--accent-vivid);color:#fff;font-size:.75rem;font-weight:700}.rail-account-text{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-account-name{color:var(--text);font-size:.875rem;font-weight:600}.rail-account-company{font-size:11px;color:var(--dim)}.rail-account-menu{display:flex;flex-direction:column;gap:.25rem;min-width:240px;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);box-shadow:0 6px 16px rgba(0,0,0,.2);position:absolute;bottom:calc(100% + .25rem);left:.5rem;right:.5rem;z-index:5;.rail-item{justify-content:flex-start!important;svg{min-width:1.25rem!important;width:1.25rem!important}.label{display:block!important}}}.rail-account-menu-theme{.theme-toggle{margin-left:auto}&:hover{background:none}}.rail-help{position:relative}.rail-help-trigger{justify-content:space-between!important;cursor:pointer}.rail-help-chevron{min-width:1rem!important;width:1rem!important;color:var(--dim)}.rail-help-submenu{display:none;flex-direction:column;gap:.25rem;min-width:var(--rail-width);padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);box-shadow:0 6px 16px rgba(0,0,0,.2);position:absolute;left:calc(100% + -.125rem);bottom:0;z-index:2;.rail-item{justify-content:flex-start!important;.label{display:block!important}}}.rail-help:focus-within .rail-help-submenu,.rail-help:hover .rail-help-submenu{display:flex}.rail-account-trigger,.rail-collapse-btn,.rail-cta,.rail-item,.rail-switch{position:relative;&[data-tooltip]{&:after{content:attr(data-tooltip);position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);padding:.25rem .5rem;border-radius:var(--radius-chip);background:var(--text-strong);color:var(--bg);font-size:11px;font-weight:600;white-space:nowrap;z-index:80;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s ease,visibility .1s ease}}}.shell-rail{&.collapsed{.label,.rail-account-text,.rail-logo-text,.rail-plan{display:none}.rail-brand{position:relative;justify-content:center;padding:1rem .75rem;&:hover{.rail-collapse-btn{opacity:1;pointer-events:auto}.rail-logo-icon,.rail-logo-img{opacity:0}}}.rail-logo{flex:0 0 auto}.rail-logo-icon,.rail-logo-img{transition:opacity .12s ease}.rail-logo-img{width:auto;height:1.5rem}.rail-collapse-btn{position:absolute;inset:0;margin:auto;opacity:0;pointer-events:none;transition:opacity .12s ease;svg{transform:scaleX(-1)}}.rail-item{min-width:2rem;justify-content:center;padding:.375rem .25rem;svg{min-width:1.5rem;width:1.5rem}}.rail-section{padding:.25rem .5rem}.rail-account{padding:0}.rail-account-trigger{width:100%;height:100%;justify-content:center;border-radius:0}.rail-account-menu{.rail-plan{display:block;padding:.5rem;margin:0 0 .25rem}}.rail-account-trigger,.rail-item{&[data-tooltip]{&:focus-visible:after,&:hover:after{opacity:1;visibility:visible}}}}}.rail-admin-section-wrap{flex:auto;padding-top:1rem;display:flex;flex-direction:column;gap:.75rem;overflow:auto}.rail-admin-section-wrap::-webkit-scrollbar{width:6%}.rail-admin-section-wrap::-webkit-scrollbar-thumb{background:var(--line)}.rail-admin-section-wrap::-webkit-scrollbar-thumb:hover{background:var(--line-2)}.rail-collapse-btn[data-tooltip]:after,.shell-rail.collapsed .rail-account-trigger[data-tooltip]:after,.shell-rail.collapsed .rail-cta[data-tooltip]:after,.shell-rail.collapsed .rail-item[data-tooltip]:after,.shell-rail.collapsed .rail-switch[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:5px 10px;border-radius:var(--radius-chip);background:var(--text-strong);color:var(--bg);font-size:11px;font-weight:600;white-space:nowrap;z-index:80;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s ease,visibility .1s ease}.rail-collapse-btn[data-tooltip]:focus-visible:after,.rail-collapse-btn[data-tooltip]:hover:after,.shell-rail.collapsed .rail-account-trigger[data-tooltip]:focus-visible:after,.shell-rail.collapsed .rail-account-trigger[data-tooltip]:hover:after,.shell-rail.collapsed .rail-cta[data-tooltip]:focus-visible:after,.shell-rail.collapsed .rail-cta[data-tooltip]:hover:after,.shell-rail.collapsed .rail-item[data-tooltip]:focus-visible:after,.shell-rail.collapsed .rail-item[data-tooltip]:hover:after,.shell-rail.collapsed .rail-switch[data-tooltip]:focus-visible:after,.shell-rail.collapsed .rail-switch[data-tooltip]:hover:after{opacity:1;visibility:visible}.shell-rail.collapsed .rail-brand{position:relative}.shell-rail.collapsed .rail-brand:hover .rail-collapse-btn[data-tooltip]:after{opacity:1;visibility:visible}.shell-rail.collapsed .rail-cta{padding:.375rem .5rem}.shell-rail.collapsed .rail-item{padding:.375rem .25rem;justify-content:center}.shell-rail.collapsed .rail-account{padding:0}.shell-rail.collapsed .rail-account-trigger{padding:.75rem}.shell-rail.admin{background:var(--admin-rail-bg);border-right-color:var(--admin-rail-edge)}.shell-rail.admin .rail-brand{border-bottom:0;padding:0 0 0 1rem;height:3.5rem;gap:.5rem}.shell-rail.admin .rail-logo{flex:0 1 auto;padding:0}.shell-rail.admin .rail-logo-img{width:143px;height:auto}.rail-admin-tag{flex:none;display:grid;place-items:center;height:1.125rem;padding:0 .375rem;border-radius:4px;background:var(--logo-red);color:#fff;font-size:10px;font-weight:700;line-height:1}.shell-rail.admin .rail-admin-section-wrap{padding:.5rem 1rem;gap:2px}.shell-rail.admin ul{display:flex;flex-direction:column;gap:2px}.rail-admin-section>.rail-section,.shell-rail.admin .rail-admin-home .rail-item-admin{position:relative;display:flex;align-items:center;min-height:2.25rem;padding:0 .5rem 0 1.5rem;border:1px solid transparent;border-radius:2px}.shell-rail.admin .rail-admin-home .rail-item-admin .label{font-size:.875rem;color:var(--admin-rail-text)}.rail-admin-section{display:block;>.rail-section{cursor:pointer;list-style:none;font-size:.875rem;color:var(--admin-rail-text);&::-webkit-details-marker{display:none}&:before{content:"▶";position:absolute;left:8px;font-size:9px;color:var(--admin-rail-dim)}&:hover{background:var(--admin-rail-hover-bg)}&:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}}&[open]>.rail-section:before{content:"▼"}>ul{position:relative;padding:0 0 0 1.25rem;margin:2px 0;&:before{content:"";position:absolute;left:13px;top:0;bottom:0;width:1px;background:var(--admin-rail-guide)}}.rail-item-admin{min-height:2rem;padding:0 .5rem 0 1rem;border:1px solid transparent;border-radius:2px;.label{font-size:.8125rem;color:var(--admin-rail-sub)}}}.shell-rail.admin .rail-item-admin:hover{background:var(--admin-rail-hover-bg)}.shell-rail.admin .rail-item-admin.active,.shell-rail.admin .rail-item-admin[aria-current=page]{background:var(--admin-rail-act-bg);border-color:var(--admin-rail-act-line);overflow:hidden;&:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--admin-rail-act-bar)}.label{color:var(--admin-rail-act-text);font-weight:700}}.shell-rail.admin .rail-switch{min-height:2.375rem;margin:.5rem .5rem 0;padding:0 .875rem;border-color:var(--admin-rail-box-line);border-radius:8px;background:var(--admin-rail-box-bg);color:var(--admin-rail-sub);font-weight:400}.shell-rail.admin .rail-switch svg,.shell-rail.admin .rail-switch-arrow{color:var(--admin-rail-dim)}.shell-rail.admin .rail-switch:hover{background:var(--admin-rail-hover-bg);border-color:var(--admin-rail-box-line-hover);color:var(--admin-rail-hover-text);.rail-switch-arrow,svg{color:inherit}}.shell-rail.admin .rail-account{margin-top:1rem;border-top-color:var(--admin-rail-guide)}.shell-rail.admin .rail-account .rail-item:hover{background:var(--admin-rail-hover-bg)}.shell-rail.admin .rail-admin-account{display:flex;align-items:center;gap:.5rem;min-height:3rem;margin:1rem 0 0;padding:.5rem 1rem .5rem 1.5rem}.rail-admin-account .rail-avatar{flex:none;width:1.5rem;height:1.5rem;font-size:11px}.rail-admin-account .rail-account-text{flex:1;.rail-account-name{color:var(--admin-rail-text);font-weight:500}.rail-account-company{color:var(--admin-rail-dim)}}.shell-rail.admin .rail-admin-account .logout-btn{flex:none;justify-content:center;width:2rem;min-height:2rem;padding:0;.label{display:none}svg{color:var(--admin-rail-dim)}&:hover{background:var(--admin-rail-hover-bg);svg{color:var(--admin-rail-hover-text)}}}.rail-backdrop,.rail-drawer-close,.rail-hamburger{display:none}@media (max-width:1024px){html .shell.shell,html .shell.shell:has(.shell-rail){grid-template-columns:minmax(0,1fr)}html .shell.shell>.rd-note-strip,html .shell.shell>.shell-crumb,html .shell.shell>.shell-disclaimer,html .shell.shell>.shell-workspace{grid-column:1}html .shell.shell>.shell-rail{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(280px,85vw);box-shadow:none;transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}html[data-rail-open] .shell.shell>.shell-rail{transform:none;visibility:visible;box-shadow:0 0 24px rgba(15,23,42,.18);transition:transform .2s ease,visibility 0s}.shell-rail .rail-collapse-btn{display:none}.shell-rail .rail-help-submenu{position:static;min-width:0;padding:0 0 0 1.75rem;border:0;border-radius:0;background:transparent;box-shadow:none}.rail-hamburger{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--text-strong);background:transparent;border:0;border-radius:var(--radius-chip);cursor:pointer;margin-left:-9px}.shell-crumb:not(.rd-shellhead) .rail-hamburger{margin-left:-5px}.rail-hamburger:hover{background:var(--panel-2)}.rail-hamburger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rail-drawer-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;padding:0;color:var(--text);background:transparent;border:0;border-radius:var(--radius-chip);cursor:pointer}.rail-drawer-close:hover{background:var(--panel-2)}.rail-drawer-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.shell-rail.admin .rail-drawer-close{margin-right:.5rem;color:var(--admin-rail-dim)}.shell-rail.admin .rail-drawer-close:hover{background:var(--admin-rail-hover-bg);color:var(--admin-rail-hover-text)}.rail-backdrop{display:block;position:fixed;inset:0;z-index:55;padding:0;border:0;background:rgba(15,23,42,.4);cursor:default}}@media (prefers-reduced-motion:reduce){html .shell.shell>.shell-rail,html[data-rail-open] .shell.shell>.shell-rail{transition:none}}@media print{.rail-backdrop,.rail-drawer-close,.rail-hamburger{display:none}}.shell-workspace{overflow:auto;background:var(--bg);position:relative}main.shell-workspace:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.shell-footer{grid-row:4;grid-column:1/-1;background:var(--panel);border-top:1px solid var(--line);display:flex;align-items:center;gap:var(--pad-md);padding:0 var(--pad-md);font-size:10px;color:var(--dim)}.shell-footer .progress-blocks{letter-spacing:-1px;color:var(--accent)}.shell-footer .right{margin-left:auto;display:flex;gap:var(--pad-md)}.shell-footer kbd{font-family:var(--font-mono);border:1px solid var(--line);padding:0 4px;margin:0 2px;font-size:10px;color:var(--text);background:var(--panel-2);border-radius:var(--radius-xs)}