:root{
 --kv-brand:#168c7d;
 --kv-brand-dark:#0b6259;
 --kv-brand-soft:#e9f7f4;
 --kv-brand-pale:#f4fbf9;
 --kv-accent:#e12532;
 --kv-ink:#17322f;
 --kv-muted:#6c7d7a;
 --kv-line:#dce8e5;
 --kv-bg:#f4f8f7;
 --kv-card:#fff;
 --kv-shadow:0 12px 34px rgba(19,72,65,.09);
 --kv-radius:22px;
}
*{box-sizing:border-box}
html{background:var(--kv-bg)!important;scroll-behavior:smooth}
body{min-width:0!important;margin:0!important;background:var(--kv-bg)!important;color:var(--kv-ink)!important;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI",system-ui,sans-serif!important;overflow-x:hidden!important}
body>.wrap,.wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.hero{display:none!important}
#advancedCreator,.creator-app-nav,#promptFloat{display:none!important}
#appContent{width:100%;max-width:none;margin:0;padding:0}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
.kirava-unified-app{min-height:100dvh;width:100%}
.kv-app{width:min(1480px,100%);min-height:100dvh;margin:0 auto;padding:24px;display:grid;grid-template-columns:238px minmax(0,1fr) 308px;gap:22px;align-items:start}
.kv-sidebar,.kv-summary{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow:auto;scrollbar-width:thin}
.kv-sidebar,.kv-summary,.kv-surface{background:var(--kv-card);border:1px solid var(--kv-line);border-radius:var(--kv-radius);box-shadow:var(--kv-shadow)}
.kv-sidebar{padding:20px 14px}
.kv-logo{display:flex;align-items:center;gap:11px;padding:2px 8px 18px}
.kv-logo-mark{width:44px;height:44px;flex:0 0 44px}
.kv-logo-mark .ink{fill:var(--kv-ink)}
.kv-logo-mark .accent{fill:var(--kv-accent)}
.kv-logo-copy{min-width:0}
.kv-wordmark{font-size:25px;font-weight:900;letter-spacing:.12em;line-height:1;color:var(--kv-ink)}
.kv-wordmark i{color:var(--kv-accent);font-style:normal}
.kv-logo-copy small{display:block;margin-top:5px;color:var(--kv-brand);font-size:9px;font-weight:800;letter-spacing:.16em}
.kv-version{margin-left:auto;border:1px solid var(--kv-line);border-radius:999px;padding:4px 7px;color:var(--kv-muted);font-size:9px;font-weight:800}
.kv-nav{display:grid;gap:6px}
.kv-nav-button,.kv-group-button{width:100%;border:0;background:transparent;color:var(--kv-muted);border-radius:14px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}
.kv-nav-button{min-height:48px;padding:10px 12px;font-size:13px;font-weight:800}
.kv-nav-button span:first-child{width:25px;text-align:center;font-size:19px}
.kv-nav-button:hover,.kv-nav-button.active{background:var(--kv-brand-soft);color:var(--kv-brand-dark)}
.kv-new-button{margin:14px 4px;padding:13px;border:0;border-radius:15px;background:var(--kv-brand);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(22,140,125,.22)}
.kv-sidebar-label{margin:18px 10px 8px;color:var(--kv-muted);font-size:10px;font-weight:900;letter-spacing:.12em}
.kv-group-list{display:grid;gap:3px}
.kv-group-button{min-height:38px;padding:7px 10px;font-size:11px;font-weight:800}
.kv-group-button b{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#eef4f2;color:var(--kv-muted);font-size:10px}
.kv-group-button em{margin-left:auto;font-style:normal;font-size:9px}
.kv-group-button.active{background:var(--kv-brand-soft);color:var(--kv-brand-dark)}
.kv-group-button.active b{background:var(--kv-brand);color:#fff}
.kv-main{min-width:0}
.kv-surface{min-height:calc(100dvh - 48px);overflow:hidden}
.kv-topbar{min-height:74px;padding:14px 24px;border-bottom:1px solid var(--kv-line);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;background:rgba(255,255,255,.96)}
.kv-topbar-back{width:42px;height:42px;border:1px solid var(--kv-line);border-radius:13px;background:#fff;color:var(--kv-ink);font-size:24px;cursor:pointer}
.kv-topbar h1{margin:0;font-size:18px;line-height:1.3}
.kv-topbar-brand{display:flex;align-items:center;gap:8px}
.kv-topbar-brand svg{display:none;width:30px;height:30px;flex:0 0 30px;fill:var(--kv-ink)}
.kv-topbar-brand svg path:last-child{fill:var(--kv-accent)}
.kv-topbar p{margin:3px 0 0;color:var(--kv-muted);font-size:11px}
.kv-topbar-step{min-width:52px;text-align:right;color:var(--kv-brand-dark);font-size:12px;font-weight:900}
.kv-content{padding:26px}
.kv-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--kv-brand);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.kv-eyebrow:before{content:"";width:22px;height:3px;border-radius:99px;background:var(--kv-accent)}
.kv-hero{padding:8px 0 22px}
.kv-hero h1{margin:10px 0 8px;font-size:clamp(28px,4.2vw,48px);line-height:1.18;letter-spacing:-.035em}
.kv-hero p{max-width:620px;margin:0;color:var(--kv-muted);font-size:14px;line-height:1.9}
.kv-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kv-mode-card{min-height:172px;padding:22px;border:1px solid var(--kv-line);border-radius:20px;background:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:.2s transform,.2s border-color,.2s box-shadow}
.kv-mode-card:hover{transform:translateY(-2px);border-color:var(--kv-brand);box-shadow:0 12px 28px rgba(22,140,125,.12)}
.kv-mode-card.primary{background:linear-gradient(145deg,#e7f7f3,#f8fdfc);border-color:#abd8d0}
.kv-mode-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--kv-brand);color:#fff;font-size:23px;box-shadow:0 8px 18px rgba(22,140,125,.2)}
.kv-mode-card.secondary .kv-mode-icon{background:#243c39}
.kv-mode-card b{display:block;margin:18px 0 5px;font-size:19px}
.kv-mode-card small{color:var(--kv-muted);font-size:12px;line-height:1.6}
.kv-section{margin-top:28px}
.kv-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px}
.kv-section-head h2{margin:0;font-size:17px}
.kv-link{border:0;background:transparent;color:var(--kv-brand-dark);font-size:11px;font-weight:900;cursor:pointer}
.kv-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kv-small-card{min-width:0;padding:14px;border:1px solid var(--kv-line);border-radius:16px;background:#fff;text-align:left;cursor:pointer}
.kv-small-card:hover{border-color:var(--kv-brand)}
.kv-small-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.kv-small-card small{display:block;margin-top:6px;color:var(--kv-muted);font-size:10px;line-height:1.5}
.kv-empty{padding:22px;border:1px dashed #bfd1cd;border-radius:16px;background:var(--kv-brand-pale);color:var(--kv-muted);text-align:center;font-size:12px}
.kv-progress{display:flex;gap:6px;margin:0 0 22px}
.kv-progress i{height:5px;flex:1;border-radius:99px;background:#dce8e5}
.kv-progress i.done{background:var(--kv-brand)}
.kv-screen-title{margin:0;font-size:24px;line-height:1.35;letter-spacing:-.02em}
.kv-lead{margin:8px 0 20px;color:var(--kv-muted);font-size:13px;line-height:1.8}
.kv-input-card{padding:18px;border:1px solid var(--kv-line);border-radius:18px;background:var(--kv-brand-pale)}
.kv-textarea,.kv-text-input,.kv-select{width:100%;border:1px solid #cbdcd8;border-radius:13px;background:#fff;color:var(--kv-ink);outline:none;transition:border .15s,box-shadow .15s}
.kv-textarea{min-height:132px;padding:15px;resize:vertical;line-height:1.65}
.kv-text-input,.kv-select{min-height:46px;padding:9px 12px}
.kv-textarea:focus,.kv-text-input:focus,.kv-select:focus{border-color:var(--kv-brand);box-shadow:0 0 0 3px rgba(22,140,125,.12)}
.kv-primary,.kv-secondary,.kv-danger{min-height:50px;border-radius:14px;padding:11px 18px;font-weight:900;cursor:pointer}
.kv-primary{border:1px solid var(--kv-brand);background:var(--kv-brand);color:#fff;box-shadow:0 7px 18px rgba(22,140,125,.18)}
.kv-primary:hover{background:var(--kv-brand-dark)}
.kv-secondary{border:1px solid var(--kv-line);background:#fff;color:var(--kv-ink)}
.kv-secondary:hover{border-color:var(--kv-brand);color:var(--kv-brand-dark)}
.kv-danger{border:1px solid #f0c7ca;background:#fff5f5;color:#ad2730}
.kv-wide{width:100%}
.kv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.kv-actions>*{flex:1 1 150px}
.kv-examples{margin-top:18px;padding:14px;border-radius:15px;background:#fff;border:1px solid var(--kv-line)}
.kv-examples b{display:block;margin-bottom:8px;font-size:11px}
.kv-example{width:100%;min-height:43px;margin:4px 0;padding:9px 12px;border:1px solid var(--kv-line);border-radius:11px;background:#fff;color:var(--kv-ink);text-align:left;font-size:11px;cursor:pointer}
.kv-example:hover{border-color:var(--kv-brand);background:var(--kv-brand-pale)}
.kv-analysis{border:1px solid var(--kv-line);border-radius:17px;overflow:hidden;background:#fff}
.kv-analysis-row{min-height:55px;padding:10px 14px;display:grid;grid-template-columns:32px 112px 1fr 32px;align-items:center;gap:8px;border-bottom:1px solid var(--kv-line)}
.kv-analysis-row:last-child{border-bottom:0}
.kv-analysis-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--kv-brand-soft)}
.kv-analysis-label{color:var(--kv-muted);font-size:11px;font-weight:800}
.kv-analysis-value{text-align:right;font-size:12px;font-weight:900}
.kv-remove{width:30px;height:30px;border:0;border-radius:9px;background:#f6f8f7;color:var(--kv-muted);cursor:pointer}
.kv-callout{margin-top:16px;padding:14px 16px;border-left:4px solid var(--kv-brand);border-radius:0 14px 14px 0;background:var(--kv-brand-pale);color:var(--kv-muted);font-size:11px;line-height:1.7}
.kv-visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.kv-visual-card{position:relative;min-width:0;padding:0;border:2px solid transparent;border-radius:17px;background:#fff;overflow:hidden;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--kv-line)}
.kv-visual-card:hover{box-shadow:0 0 0 1px var(--kv-brand),0 8px 20px rgba(22,140,125,.12)}
.kv-visual-card.active{border-color:var(--kv-brand);box-shadow:0 0 0 2px rgba(22,140,125,.14)}
.kv-visual-image{display:block;width:100%;aspect-ratio:4/5;background-repeat:no-repeat;background-size:400% 200%;background-position:var(--sprite-x) var(--sprite-y)}
.kv-visual-card.place .kv-visual-image,.kv-visual-card.camera .kv-visual-image,.kv-visual-card.outfit .kv-visual-image{aspect-ratio:1/1}
.kv-visual-label{min-height:48px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:900;line-height:1.35}
.kv-visual-label small{color:var(--kv-muted);font-size:8px;font-weight:700}
.kv-check{width:22px;height:22px;flex:0 0 22px;display:none;place-items:center;border-radius:50%;background:var(--kv-brand);color:#fff;font-size:12px}
.kv-visual-card.active .kv-check{display:grid}
.kv-image-note{margin:9px 0 0;color:var(--kv-muted);font-size:10px;text-align:right}
.kv-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.kv-chip{min-height:40px;padding:8px 12px;border:1px solid var(--kv-line);border-radius:999px;background:#fff;color:var(--kv-ink);font-size:11px;font-weight:800;cursor:pointer}
.kv-chip:hover{border-color:var(--kv-brand)}
.kv-chip.active{border-color:var(--kv-brand);background:var(--kv-brand);color:#fff}
.kv-chip.color{padding-left:8px}
.kv-swatch{width:18px;height:18px;display:inline-block;margin-right:6px;border:1px solid rgba(0,0,0,.1);border-radius:50%;background:var(--swatch,#ddd);vertical-align:-4px}
.kv-category{padding:17px;border:1px solid var(--kv-line);border-radius:17px;background:#fff}
.kv-category+.kv-category{margin-top:12px}
.kv-category-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.kv-category-head h3{margin:0;font-size:14px}
.kv-category-head span{color:var(--kv-brand-dark);font-size:9px;font-weight:900}
.kv-category-note{margin:-6px 0 11px;color:var(--kv-muted);font-size:10px}
.kv-detail{margin-top:16px;border:1px solid var(--kv-line);border-radius:17px;background:#fafcfb;overflow:hidden}
.kv-detail>summary{min-height:54px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:12px;font-weight:900}
.kv-detail>summary::-webkit-details-marker{display:none}
.kv-detail>summary:after{content:"＋";color:var(--kv-brand)}
.kv-detail[open]>summary:after{content:"−"}
.kv-detail-body{padding:0 14px 14px}
.kv-group-tabs{display:flex;gap:7px;margin:0 0 18px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none}
.kv-group-tabs::-webkit-scrollbar{display:none}
.kv-group-tab{flex:0 0 auto;min-height:40px;padding:8px 12px;border:1px solid var(--kv-line);border-radius:12px;background:#fff;color:var(--kv-muted);font-size:10px;font-weight:900;cursor:pointer}
.kv-group-tab.active{border-color:var(--kv-brand);background:var(--kv-brand-soft);color:var(--kv-brand-dark)}
.kv-search{position:relative;margin-bottom:16px}
.kv-search:before{content:"⌕";position:absolute;left:13px;top:9px;color:var(--kv-muted);font-size:20px}
.kv-search input{padding-left:40px}
.kv-nextbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.kv-summary{padding:18px}
.kv-summary-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--kv-line)}
.kv-summary-head h2{margin:0;font-size:14px}
.kv-count{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--kv-brand-soft);color:var(--kv-brand-dark);font-size:10px;font-weight:900}
.kv-summary-list{display:grid;gap:8px;margin:14px 0}
.kv-summary-item{display:grid;grid-template-columns:88px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #eef3f2;font-size:10px}
.kv-summary-item span{color:var(--kv-muted)}
.kv-summary-item b{text-align:right;line-height:1.45}
.kv-summary-empty{padding:16px 6px;color:var(--kv-muted);font-size:11px;line-height:1.7}
.kv-prompt-peek{max-height:142px;overflow:hidden;padding:12px;border:1px solid var(--kv-line);border-radius:12px;background:#f8fbfa;color:#536460;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1.65;white-space:pre-wrap}
.kv-summary-actions{display:grid;gap:8px;margin-top:12px}
.kv-complete-cards{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:18px}
.kv-complete-card{border:1px solid var(--kv-line);border-radius:16px;overflow:hidden;background:#fff}
.kv-complete-card .kv-visual-image{aspect-ratio:4/3}
.kv-complete-card b{display:block;padding:9px 11px;font-size:10px}
.kv-tabs{display:flex;gap:6px;margin-bottom:10px;padding:4px;border-radius:13px;background:#eef4f2}
.kv-tab{min-height:40px;flex:1;border:0;border-radius:10px;background:transparent;color:var(--kv-muted);font-size:10px;font-weight:900;cursor:pointer}
.kv-tab.active{background:#fff;color:var(--kv-brand-dark);box-shadow:0 2px 8px rgba(25,55,51,.08)}
.kv-output{min-height:210px;max-height:420px;padding:16px;border:1px solid var(--kv-line);border-radius:15px;background:#fbfdfc;color:#304c48;font-size:11px;line-height:1.75;overflow:auto;white-space:pre-wrap;word-break:break-word}
.kv-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}
.kv-field label,.kv-field-title{display:block;margin:0 0 6px;color:var(--kv-muted);font-size:10px;font-weight:800}
.kv-list{display:grid;gap:10px}
.kv-list-card{padding:15px;border:1px solid var(--kv-line);border-radius:16px;background:#fff}
.kv-list-card h3{margin:0 0 6px;font-size:12px}
.kv-list-card p{display:-webkit-box;margin:0;color:var(--kv-muted);font-size:10px;line-height:1.6;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kv-list-meta{margin-top:8px;color:var(--kv-brand-dark);font-size:9px;font-weight:800}
.kv-list-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.kv-list-actions button{min-height:36px;padding:7px 10px;border:1px solid var(--kv-line);border-radius:10px;background:#fff;font-size:9px;font-weight:900;cursor:pointer}
.kv-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kv-settings-card{padding:17px;border:1px solid var(--kv-line);border-radius:17px;background:#fff}
.kv-settings-card h3{margin:0 0 7px;font-size:14px}
.kv-settings-card p{margin:0 0 12px;color:var(--kv-muted);font-size:10px;line-height:1.7}
.kv-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kv-editor-grid .wide{grid-column:1/-1}
.kv-bottom-nav{display:none}
.kv-mobile-summary{display:none}
.kv-toast{position:fixed;z-index:1000;left:50%;bottom:24px;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:11px 16px;border-radius:999px;background:#183b36;color:#fff;font-size:11px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}
.kv-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1180px){
 .kv-app{grid-template-columns:204px minmax(0,1fr) 276px;gap:14px;padding:14px}
 .kv-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .kv-content{padding:22px}
 .kv-sidebar,.kv-summary{top:14px;max-height:calc(100dvh - 28px)}
}
@media(max-width:920px){
 body{padding-bottom:78px!important}
 .kv-app{display:block;width:100%;padding:0}
 .kv-sidebar,.kv-summary{display:none}
 .kv-surface{min-height:100dvh;border:0;border-radius:0;box-shadow:none}
 .kv-topbar{position:sticky;top:0;z-index:30;min-height:64px;padding:9px 14px;box-shadow:0 3px 15px rgba(20,65,59,.06)}
 .kv-topbar-brand svg{display:block}
 .kv-content{padding:20px 16px 32px}
 .kv-mode-grid{grid-template-columns:1fr}
 .kv-mode-card{min-height:138px}
 .kv-bottom-nav{position:fixed;z-index:100;left:0;right:0;bottom:0;height:72px;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,1fr);gap:3px;border-top:1px solid var(--kv-line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
 .kv-bottom-nav button{border:0;border-radius:11px;background:transparent;color:var(--kv-muted);display:grid;place-items:center;gap:1px;font-size:17px;cursor:pointer}
 .kv-bottom-nav button small{font-size:8px;font-weight:800}
 .kv-bottom-nav button.active{background:var(--kv-brand-soft);color:var(--kv-brand-dark)}
 .kv-bottom-nav .create{width:46px;height:46px;margin:-18px auto 0;border-radius:50%;background:var(--kv-brand);color:#fff;box-shadow:0 7px 20px rgba(22,140,125,.25);font-size:25px}
 .kv-mobile-summary{display:flex;position:sticky;z-index:20;bottom:0;margin:20px -16px -32px;padding:10px 16px 12px;align-items:center;gap:10px;border-top:1px solid var(--kv-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
 .kv-mobile-summary span{min-width:0;flex:1;color:var(--kv-muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .kv-mobile-summary button{min-height:44px;padding:9px 14px}
}
@media(max-width:640px){
 .kv-hero h1{font-size:31px}
 .kv-quick-grid{grid-template-columns:1fr 1fr}
 .kv-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .kv-visual-image{aspect-ratio:4/5}
 .kv-analysis-row{grid-template-columns:30px 86px 1fr 30px;padding:9px 10px}
 .kv-analysis-value{font-size:11px}
 .kv-complete-cards{grid-template-columns:1.3fr 1fr;gap:8px}
 .kv-complete-card:last-child{grid-column:1/-1}
 .kv-format-grid,.kv-settings-grid,.kv-editor-grid{grid-template-columns:1fr}
 .kv-editor-grid .wide{grid-column:auto}
 .kv-nextbar{grid-template-columns:1fr}
 .kv-actions>*{flex-basis:100%}
 .kv-topbar h1{font-size:15px}
 .kv-topbar p{display:none}
 .kv-content{padding-top:18px}
 .kv-screen-title{font-size:21px}
}
@media(max-width:390px){
 .kv-visual-label{padding:8px;font-size:10px}
 .kv-chip{font-size:10px;padding:7px 10px}
 .kv-mode-card{padding:18px}
}
