:root{--paper:#f5f4f1;--ink:#292b30;--muted:#777a80;--line:#e5e4df;--accent:#6d3b57;--accent-dark:#512c41;--white:#fff;--serif:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.7}button,input,select{font:inherit}button,a,label,input,select{-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.dropzone:focus-within{outline:3px solid #b894a8;outline-offset:4px}[hidden]{display:none!important}.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:14px;font-size:23px;line-height:1.2;letter-spacing:-.4px}.brand strong{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:8px}.brand-mark{font-family:var(--serif);font-style:italic;font-size:42px;letter-spacing:-9px;width:52px;color:var(--accent)}.brand-mark span{position:relative;top:5px}.header-right{display:flex;align-items:center;gap:24px;font-size:12px}.private-label{display:flex;align-items:center;gap:8px;color:var(--muted)}.status-dot{width:6px;height:6px;background:#8b9c8b;border-radius:50%;display:inline-block;flex:none}.text-button{border:0;background:transparent;padding:5px 0;color:var(--muted);font-size:12px}.text-button:hover{color:var(--accent)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;color:var(--accent);margin:0 0 20px}.login-layout{max-width:1200px;min-height:calc(100vh - 170px);margin:auto;padding:70px 35px 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.login-intro h1{font-family:var(--serif);font-weight:500;font-size:43px;line-height:1.6;letter-spacing:2px;margin:0 0 24px}.intro-copy{color:var(--muted);font-size:14px;line-height:2.1}.login-card{background:var(--white);padding:44px 36px;border:1px solid var(--line);border-radius:5px;box-shadow:0 15px 40px #302d2b04}.login-card h2{font-size:22px;font-weight:500;letter-spacing:.5px;margin:0 0 16px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:2}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;background:var(--accent);border:0;border-radius:3px;padding:15px 20px;font-size:14px;letter-spacing:.3px;transition:background .15s}.primary-button:hover:enabled{background:var(--accent-dark)}.login-button{width:100%;margin-top:26px}.fine-print{font-size:11px;color:var(--muted);margin:18px 0 0}.login-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:9px;color:var(--muted);padding-top:24px;margin-top:36px;gap:10px}.setup-notice{margin-top:32px;background:#f5f4f1;padding:22px 18px;display:flex;gap:12px;align-items:flex-start}.setup-notice .status-dot{margin-top:9px}.setup-notice strong{font-size:13px;font-weight:500}.setup-notice p{font-size:12px;color:var(--muted);margin:5px 0 0}.abstract-art{height:235px;position:relative;max-width:380px;margin:30px 0 0}.art-frame{position:absolute;width:155px;height:175px;border:1px solid #d3cec8;transform:rotate(-10deg);top:15px;left:45px}.art-frame-back{background:#ede8e2;transform:rotate(-15deg);left:28px;top:25px}.art-frame-front{background:#faf9f6;transform:rotate(9deg);left:135px;top:24px;overflow:hidden}.art-circle{width:70px;height:70px;border:1px solid #b38b9e;border-radius:50%;position:absolute;left:46px;top:30px}.art-line{position:absolute;width:1px;height:125px;background:#b38b9e;left:88px;top:71px;transform:rotate(29deg)}.art-corner{position:absolute;width:90px;height:90px;border:1px solid #b38b9e;transform:rotate(45deg);left:-30px;top:92px}.art-corner.two{left:106px;top:126px}.art-caption{position:absolute;left:40px;bottom:0;font-size:7px;letter-spacing:2px;color:#9d9690}.footer{max-width:1300px;margin:auto;padding:24px 5%;display:flex;justify-content:space-between;font-size:10px;color:#90918e;gap:20px}.workspace{max-width:1440px;margin:auto;padding:48px 5% 10px}.page-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.page-intro .eyebrow{margin-bottom:10px}.page-intro h1{font-family:var(--serif);font-weight:500;font-size:36px;letter-spacing:2px;margin:0}.page-intro p:last-child{color:var(--muted);margin:8px 0 0;font-size:13px}.archive-count{text-align:right;border-left:1px solid #d7d5ce;padding-left:30px;line-height:1.2}.archive-count strong{font-family:var(--serif);font-size:36px;font-weight:400}.archive-count span{display:block;font-size:10px;margin-top:9px;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:310px 1fr;gap:28px;align-items:start}.search-panel{background:var(--white);padding:24px;border:1px solid var(--line);border-radius:5px}.panel-heading{display:flex;align-items:center;gap:10px}.panel-heading h2{font-size:14px;font-weight:600;margin:0}.step-number{font-size:10px;letter-spacing:1px;color:var(--accent)}.dropzone{margin-top:20px;border:1px dashed #c5bdc1;border-radius:4px;min-height:218px;padding:26px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;position:relative;background:#fbfaf9;transition:background .15s}.dropzone.drag-over{background:#f0e8ed;border-color:var(--accent)}.dropzone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-glyph{font-size:30px;line-height:1;color:var(--accent);margin-bottom:17px}.dropzone strong{font-size:12px;font-weight:500}.dropzone>span:not(.upload-glyph){font-size:10px;color:var(--muted);margin-top:8px}.dropzone small{font-size:9px;color:#9a989a;margin-top:20px}.field-label{display:block;font-size:11px;margin:26px 0 9px;font-weight:500}select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font-size:12px}.checkbox-label{display:flex;align-items:flex-start;gap:8px;margin:21px 0;color:var(--ink);cursor:pointer}.checkbox-label input{accent-color:var(--accent);margin-top:5px}.checkbox-label strong{display:block;font-size:11px;font-weight:500}.checkbox-label small{font-size:9px;color:var(--muted)}.search-button{width:100%;font-size:12px;padding:14px 16px}.privacy-note{font-size:9px;color:var(--muted);text-align:center;margin:13px 0 0}.scope-note{border-top:1px solid var(--line);margin-top:26px;padding-top:20px;font-size:10px;color:var(--muted)}.scope-note strong{font-size:11px;font-weight:500;color:var(--ink)}.scope-note p{margin:8px 0 0;line-height:1.9}.results-panel{min-width:0}.results-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:4px 0 20px;gap:16px}.result-meta{color:var(--muted);font-size:10px}.empty-state{min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state h3{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:1px;margin:25px 0 9px}.empty-state p{color:var(--muted);font-size:12px;line-height:2}.empty-frames{display:flex;align-items:center;height:90px;gap:9px}.empty-frames span{width:44px;height:60px;border:1px solid #c9c4c0;background:#f8f7f4;transform:rotate(-12deg)}.empty-frames span:nth-child(2){height:75px;width:54px;border-color:#a48c99;transform:rotate(3deg)}.empty-frames span:nth-child(3){transform:rotate(13deg)}.category-pills{display:flex;gap:8px;margin-top:14px}.category-pills span{font-size:9px;color:#8c8388;padding:4px 11px;border:1px solid #dfdadc;border-radius:25px}.score-note{border-top:1px solid var(--line);padding-top:17px;font-size:10px;color:#86838a;line-height:1.9;margin-top:18px}.preview-area{margin-top:20px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#f9f8f6}.preview-area img{display:block;width:100%;height:200px;object-fit:contain;padding:10px}.preview-area>div{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;font-size:10px}.preview-area>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.result-card{background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden}.result-image{display:block;position:relative;background:#eeede9}.result-image img{display:block;width:100%;height:235px;object-fit:contain;background:#fff;padding:12px}.rank-label{position:absolute;left:10px;top:10px;background:#ffffffed;font-size:9px;padding:2px 7px;border:1px solid #eeebe8;color:#7d7279}.result-details{padding:13px 14px}.result-name{font-size:12px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.result-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.result-category{font-size:9px;color:var(--muted)}.result-score{font-family:var(--serif);font-size:20px;color:var(--accent)}.result-score small{font-family:Arial,sans-serif;font-size:8px;color:var(--muted);margin-right:5px}.mirror-label{font-size:9px;color:var(--muted);margin-top:6px}.drive-link{display:block;font-size:10px;color:var(--accent);border-top:1px solid var(--line);padding:9px 14px}.drive-link:hover{background:#f8f4f6}.error-notice,.inline-notice{background:#faf0ed;color:#945847;border:1px solid #efd9d1;padding:13px 15px;border-radius:3px;font-size:11px;margin:16px 0}.inline-notice{background:#f7f3e9;border-color:#e9dfc8;color:#8b7650}.loading-state{text-align:center;padding:140px 0;color:var(--muted)}.loading-state h3{font-size:15px;font-weight:500;color:var(--ink)}.loading-state p{font-size:12px}.spinner{display:inline-block;width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.error-page{max-width:800px;margin:100px auto;padding:0 30px;min-height:50vh}.error-page h1{font-size:28px;font-weight:400}.error-page p{color:var(--muted);margin-bottom:28px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.login-layout{gap:40px}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:280px 1fr}.search-panel{padding:20px}.result-image img{height:220px}}@media(max-width:760px){.header{height:78px;padding:0 6%}.header-right{gap:14px}.user-name{display:none}.brand{font-size:21px}.brand small{font-size:6px}.private-label{font-size:10px}.login-layout{grid-template-columns:1fr;padding:45px 6%;gap:30px;min-height:auto}.login-intro h1{font-size:31px}.intro-copy{font-size:12px}.abstract-art{display:none}.login-card{padding:30px 24px}.login-card h2{font-size:20px}.workspace{padding:32px 6% 10px}.page-intro h1{font-size:28px}.page-intro p:last-child{font-size:11px}.archive-count{padding-left:18px}.archive-count strong{font-size:28px}.workspace-grid{grid-template-columns:1fr;gap:28px}.dropzone{min-height:170px}.scope-note{display:none}.results-grid{gap:12px}.result-image img{height:190px}.empty-state{min-height:330px}.empty-state h3{font-size:20px}.footer{font-size:8px;padding:25px 6%}.score-note{font-size:9px}.results-heading{gap:8px}.result-meta{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}}
