:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0}img{max-width:100%}:root{--bg:#DAE6DD;--surface:#E8EFEA;--line:#BFC7C5;--fg:#1B2530;--muted:#526470;--accent:#3772FF;--accent-soft:#D2DED6;--accent-ink:#1B2530;--on-accent:#E8EFEA;--fav:#C0392B;--sans:"IBM Plex Sans JP",system-ui,-apple-system,"Hiragino Sans",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace}@media(prefers-color-scheme:dark){:root{--bg:#101817;--surface:#172120;--line:#3C4644;--fg:#E6EEE9;--muted:#98AAA2;--accent:#5B8CFF;--accent-soft:#19211F;--accent-ink:#5B8CFF;--on-accent:#101817;--fav:#F0625B;color-scheme:dark}}[hidden]{display:none!important}.hi{display:block;flex:none}.btn .hi{display:inline-block}.fv .hi{width:15px;height:15px}.vbtn .hi{width:16px;height:16px}.nav .hi{width:13px;height:13px;color:var(--fav)}.viewer{--vbg:var(--bg);--vfg:var(--fg);--vline:var(--line);--vpanel:var(--surface)}.viewer.bg-blur{--vbg:color-mix(in srgb,var(--bg) 35%,transparent);--vpanel:color-mix(in srgb,var(--surface) 60%,transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.viewer.bg-dark{--vbg:color-mix(in srgb,var(--dk-bg) 88%,transparent);--vfg:var(--dk-fg);--vline:color-mix(in srgb,var(--dk-fg) 25%,transparent);--vpanel:var(--dk-surface)}.swatch{all:unset;cursor:pointer;width:18px;height:18px;border-radius:50%;border:2px solid var(--vline);box-sizing:border-box}.swatch.on{border-color:var(--vfg);box-shadow:0 0 0 2px var(--vbg) inset}.swatch:focus-visible{outline:2px solid var(--accent)}.sw-theme{background:var(--bg)}.sw-blur{background:linear-gradient(135deg,var(--bg) 50%,transparent 50%)}.sw-dark{background:var(--dk-bg)}.swatches{display:flex;gap:6px;align-items:center;padding:0 4px}.sb{scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;transition:scrollbar-color .3s}.sb:hover,.sb.show{scrollbar-color:color-mix(in srgb,var(--muted) 55%,transparent) transparent}.sb::-webkit-scrollbar{width:8px;height:8px}.sb::-webkit-scrollbar-track{background:transparent}.sb::-webkit-scrollbar-thumb{background:transparent;border-radius:8px}.sb:hover::-webkit-scrollbar-thumb,.sb.show::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 55%,transparent)}@media(prefers-reduced-motion:reduce){.sb{transition:none}}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:grid;grid-template-columns:240px 1fr;grid-template-rows:minmax(0,1fr);height:100%}aside{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding-block:14px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:12px;display:flex;flex-direction:column;gap:18px}.brand{font-weight:700;font-size:17px;letter-spacing:.02em;padding:0 8px;display:flex;align-items:center;justify-content:space-between}.sync{font-size:11px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:6px}.sync i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.sec h3{font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0 8px 6px;font-weight:500}.sh{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-radius:4px}.sh:focus-visible{outline:2px solid var(--accent)}.sh:after,.tw.has:before{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}.sec.shut .sh:after,.tw.has:not(.open):before{transform:rotate(-45deg)}.sec.shut .nav{display:none}.nav .tw{flex:none;display:grid;place-items:center;width:20px;height:20px;margin:-4px;color:var(--muted)}@media(prefers-reduced-motion:reduce){.sh:after,.tw.has:before{transition:none}}.nav{display:flex;flex-direction:column;gap:1px}.nav button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px}.nav button:hover{background:var(--bg)}.nav button.on{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.nav button:focus-visible{outline:2px solid var(--accent)}.nav .n{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.nav .sub{padding-left:24px}main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-block:10px;padding-left:16px;padding-right:max(16px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);background:var(--surface)}.bar .menu{display:none}@media(min-width:761px){.bar .menu{display:inline-flex}.app.collapsed{grid-template-columns:1fr}.app.collapsed aside,.app.collapsed .scrim{display:none}}.search{flex:1;min-width:140px;display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:0 10px}.search input{border:0;background:none;outline:none;padding:7px 0;width:100%}.btn{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:13px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ic{padding:6px 8px}select.btn{padding-right:8px}.sortw{display:inline-flex;position:relative}.sortic{display:none}.size{width:90px;accent-color:var(--accent)}.selbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-block:8px;padding-left:16px;padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:13px}.selbar b{color:var(--accent-ink);font-family:var(--mono);font-variant-numeric:tabular-nums}.grid-wrap{flex:1;min-height:0;overflow-y:auto;padding-block:14px;padding-left:16px;padding-right:max(16px,env(safe-area-inset-right,0px))}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cell,170px),1fr));gap:10px}.grid.cols{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}.grid.fall{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:10px}.grid.fall .mcol{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px}.grid.fall .more,.grid.fall .empty{flex-basis:100%}.grid.fall .card .th{aspect-ratio:var(--ar,auto);height:auto}.grid.fall .urlth,.grid.fall .txtth{aspect-ratio:auto;min-height:90px}.grid.fall .txtth{max-height:220px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{all:unset;cursor:pointer;padding:6px 8px;display:flex;color:var(--muted);background:var(--surface)}.seg button.on{color:var(--accent-ink);background:var(--accent-soft)}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.txtth{aspect-ratio:1;overflow:hidden;padding:32px 12px 12px;font-size:11.5px;line-height:1.6;white-space:pre-wrap;word-break:break-all;background:var(--surface);color:var(--muted);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.stage textarea{position:absolute;inset:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));margin:0 auto;max-width:860px;width:auto;resize:none;border:1px solid var(--vline);border-radius:8px;background:var(--vpanel);color:var(--vfg);font:15px/1.8 var(--sans);padding:20px 24px;outline:none;cursor:text}.stage textarea:focus{border-color:var(--accent)}.vstate{font-size:12px;opacity:.7;white-space:nowrap}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none}.card .th{aspect-ratio:1;background:var(--bg);display:block;width:100%;max-width:100%;object-fit:cover}.card.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card .meta{padding:6px 8px;display:flex;gap:6px;align-items:center;font-size:12px}.card .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kind{position:absolute;top:6px;left:6px;font-family:var(--mono);font-size:10px;font-weight:500;background:#0a0e16b8;color:#fff;padding:2px 5px;border-radius:4px}.fv{all:unset;cursor:pointer;color:var(--muted);font-size:14px;line-height:1}.fv.on{color:var(--fav)}.no-names .card.media .meta{position:absolute;right:6px;bottom:6px;padding:0}.no-names .card.media .nm{display:none}.no-names .card.media .fv{display:none;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);border:1px solid var(--line)}.no-names .card.media .fv.on,.no-names .card.media:hover .fv{display:flex}.chk{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;border:2px solid #fff;background:#0a0e1659;display:none;align-items:center;justify-content:center;color:#fff;font-size:12px}.selecting .chk,.card:hover .chk{display:flex}.card.sel .chk{display:flex;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.empty{color:var(--muted);text-align:center;padding:60px 0;grid-column:1/-1;column-span:all}.urlth{aspect-ratio:1;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;gap:4px;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;word-break:break-all}.urlth b{font-size:13px;color:var(--fg)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vbg);z-index:20;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);color:var(--vfg)}.vbar{display:flex;gap:8px;align-items:center;padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.vbar .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.vbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;padding:6px 10px;border-radius:6px;border:1px solid var(--vline);font-size:13px;font-family:var(--mono)}.vbtn:hover{background:color-mix(in srgb,var(--vfg) 10%,transparent)}.vbtn.on{color:var(--fav);border-color:var(--fav)}.stage{overflow:hidden;position:relative;touch-action:none;cursor:grab}.stage canvas,.stage img,.stage video,.stage iframe{max-width:none;max-height:none;position:absolute;left:50%;top:50%;transform-origin:0 0;image-rendering:auto}.stage iframe{border:0}.stage #v3{left:0;top:0;width:100%;height:100%;transform:none}.stage #vh{left:auto;top:auto;transform:none;inset:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));width:calc(100% - 32px);height:calc(100% - 24px);border:1px solid var(--vline);border-radius:8px;background:var(--vpanel)}.vpage{display:inline-flex;gap:6px;align-items:center;font-family:var(--mono);font-size:12px}.vfoot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:10px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));font-size:12px}.tag{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--vline);border-radius:999px;padding:2px 9px}.tag button{all:unset;cursor:pointer;opacity:.6}.vfoot input{background:transparent;border:1px solid var(--vline);border-radius:999px;padding:3px 10px;width:120px;color:var(--vfg);outline:none}.vfoot .path{margin-left:auto;font-family:var(--mono);opacity:.6}.dlg{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080c80;z-index:30;display:flex;align-items:center;justify-content:center;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.dlg form{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;width:min(380px,100%);display:flex;flex-direction:column;gap:10px}.dlg h4{margin:0;font-size:15px}.dlg .dh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-6px -8px 0 0}.dlg .x{border:0;background:none;color:var(--muted);font-size:15px;line-height:1;padding:6px 8px;border-radius:6px}.dlg .x:hover{color:var(--text)}.dlg input,.dlg select{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:7px 10px}.dlg form.set{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto}.dlg form.set>*{flex:none}.dlg .sh{font-size:12px;color:var(--muted);margin-top:4px}.dlg .updrow{display:flex;align-items:center;gap:10px;font-size:13px}.dlg .updrow .btn{flex:none}.dlg .updrow a{color:var(--accent)}.segc{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segc button{all:unset;flex:1;text-align:center;padding:6px 0;font-size:13px;cursor:pointer}.segc button+button{border-left:1px solid var(--line)}.segc button[aria-pressed=true]{background:var(--fg);color:var(--surface)}.segc button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:3px}.tile{all:unset;box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:9px;overflow:hidden;cursor:pointer;border:1px solid var(--line)}.tile .sw{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.tile .sw i{flex:1}.tile .tn{position:relative;background:var(--surface);color:var(--fg);border-radius:5px;padding:2px 6px;font-size:11px;font-weight:500;line-height:1.3;text-align:center;max-width:calc(100% - 10px)}.tile[aria-pressed=true]{outline:2px solid var(--fg);outline-offset:2px}.tile[aria-pressed=true] .tn{font-weight:700}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dlg .row{display:flex;gap:8px;justify-content:flex-end}.dlg .tags{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}.dlg .tags:empty{display:none}.dlg .tag{border-color:var(--line)}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:8px;font-size:13px;z-index:40}.drop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:3px dashed var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);pointer-events:none}.scrim{display:none}@media(max-width:760px){.app{grid-template-columns:1fr}aside{position:fixed;inset:0 auto 0 0;width:260px;z-index:15;transform:translate(-100%);transition:transform .2s;padding-top:calc(14px + env(safe-area-inset-top,0px))}.app.nav-open aside{transform:none}.app.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:14;background:#06080c66}.bar .menu{display:inline-flex}.vbar{flex-wrap:wrap}.vbar .t{order:-1;flex-basis:calc(100% - 50px)}.vbtn{padding:6px 9px}.size{display:none}.bar{flex-wrap:nowrap;gap:6px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.bar>*{flex-shrink:0}.search{min-width:0;flex-shrink:1;padding:0 8px}.sortw{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:6px 8px}.sortic{display:block}.sortw.on .sortic{color:var(--accent)}.sortw select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0}#shuffle{padding:6px 8px}#shuffle span{display:none}.grid{--cell:110px!important;gap:6px}.grid.fall{column-gap:6px}.grid.fall .mcol{gap:6px}.card .meta{padding:4px 6px}}@media(prefers-reduced-motion:reduce){aside{transition:none}}.dlg .keys{display:grid;grid-template-columns:1fr auto;gap:5px 12px;font-size:13px;align-items:center}.dlg .keys b{grid-column:1/-1;font-size:12px;color:var(--muted);font-weight:500;margin-top:4px}.dlg kbd{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:4px;padding:1px 6px;white-space:nowrap;justify-self:end}.dlg form{max-height:calc(100dvh - 32px);overflow:auto}#wrap{touch-action:pan-x pan-y}
