11.app {
2- min-height : 100vh ;
2+ --table-fr : 0.58fr ;
3+ --hand-fr : 0.42fr ;
4+ height : 100% ;
5+ min-height : 0 ;
36 display : grid;
4- grid-template-rows : auto 1 fr auto ;
7+ grid-template-rows : auto minmax ( 0 , var ( --table-fr )) minmax ( 0 , var ( --hand-fr )) ;
58 color : var (--ink-100 );
69 animation : page-in 0.6s ease both;
10+ overflow : hidden;
711}
812
913.top-bar {
1014 display : flex;
1115 gap : 24px ;
1216 align-items : center;
1317 justify-content : space-between;
14- padding : 20px 32px ;
18+ padding : clamp ( 12 px , 2 vh , 20px ) clamp ( 18 px , 3 vw , 32px ) ;
1519 border-bottom : 1px solid rgba (255 , 236 , 209 , 0.18 );
1620 background : linear-gradient (90deg , rgba (30 , 20 , 12 , 0.9 ), rgba (44 , 28 , 18 , 0.7 ));
1721 backdrop-filter : blur (6px );
132136.table {
133137 display : grid;
134138 grid-template-columns : minmax (160px , 220px ) minmax (0 , 1fr ) minmax (220px , 280px );
135- gap : 20px ;
136- padding : 20px 24px 30px ;
139+ gap : clamp (12px , 2vw , 20px );
140+ padding : clamp (12px , 2vh , 18px ) clamp (16px , 2.4vw , 24px ) clamp (12px , 2.4vh , 22px );
141+ min-height : 0 ;
142+ align-items : stretch;
143+ height : 100% ;
137144}
138145
139146.rail {
140147 display : flex;
141148 flex-direction : column;
142149 gap : 16px ;
150+ min-height : 0 ;
143151}
144152
145153.rail .left {
151159}
152160
153161.stack-card {
154- width : 140px ;
155- height : 180px ;
162+ width : clamp ( 110 px , 12 vw , 140px ) ;
163+ height : clamp ( 150 px , 18 vh , 180px ) ;
156164 border-radius : 18px ;
157165 padding : 16px ;
158166 display : flex;
194202.table-surface {
195203 position : relative;
196204 border-radius : 28px ;
197- padding : 26 px 32 px ;
205+ padding : clamp ( 14 px , 2 vh , 22 px ) clamp ( 18 px , 2.4 vw , 28 px ) ;
198206 background : linear-gradient (180deg , # b67c4d 0% , # c9935c 35% , # d7a36a 100% );
199207 box-shadow : inset 0 0 0 1px rgba (92 , 55 , 33 , 0.4 ), var (--shadow-deep );
200208 overflow : hidden;
209+ display : grid;
210+ grid-template-rows : minmax (0 , 1fr ) auto minmax (0 , 1fr );
211+ min-height : 0 ;
201212}
202213
203214.table-surface ::before {
220231 display : grid;
221232 gap : 14px ;
222233 z-index : 1 ;
234+ min-height : 0 ;
223235}
224236
225237.zone-label-row {
254266}
255267
256268.center-zone {
257- margin : 20 px 0 ;
258- padding : 16 px ;
269+ margin : 12 px 0 ;
270+ padding : 12 px ;
259271 border-radius : 18px ;
260272 background : rgba (44 , 24 , 14 , 0.15 );
261273 border : 1px solid rgba (44 , 24 , 14 , 0.2 );
302314 border-radius : 20px ;
303315 padding : 16px ;
304316 border : 1px solid rgba (255 , 221 , 181 , 0.2 );
305- min-height : 320px ;
306317 display : flex;
307318 flex-direction : column;
308319 gap : 12px ;
309320 box-shadow : var (--shadow-soft );
321+ min-height : 0 ;
322+ flex : 1 ;
310323}
311324
312325.panel-header {
326339 font-size : 13px ;
327340 color : var (--ink-70 );
328341 line-height : 1.4 ;
329- max-height : 320px ;
330342 overflow-y : auto;
343+ flex : 1 ;
344+ min-height : 0 ;
331345}
332346
333347.history-panel ul ul {
349363}
350364
351365.hand-area {
352- padding : 18px 24 px 24px ;
366+ padding : clamp ( 12 px , 2 vh , 18px ) clamp ( 16 px , 2.4 vw , 24px ) ;
353367 background : linear-gradient (180deg , rgba (30 , 20 , 12 , 0.85 ), rgba (18 , 12 , 8 , 0.95 ));
354368 border-top : 1px solid rgba (255 , 221 , 181 , 0.2 );
355369 display : grid;
356- gap : 18px ;
370+ gap : 12px ;
371+ height : 100% ;
372+ overflow : hidden;
373+ min-height : 0 ;
357374}
358375
359376.action-prompt {
360377 display : flex;
361378 justify-content : space-between;
362379 align-items : center;
363380 gap : 20px ;
364- padding : 16 px 20 px ;
381+ padding : 12 px 16 px ;
365382 border-radius : 18px ;
366383 background : rgba (255 , 221 , 181 , 0.12 );
367384 border : 1px solid rgba (255 , 221 , 181 , 0.2 );
368385 width : 100% ;
369- max-width : 960 px ;
386+ max-width : 900 px ;
370387 margin : 0 auto;
371388}
372389
394411.action-choice-row {
395412 display : flex;
396413 gap : 10px ;
397- flex-wrap : wrap;
414+ flex-wrap : nowrap;
415+ overflow-x : auto;
416+ padding-bottom : 4px ;
398417}
399418
400419.action-button {
430449 display : flex;
431450 gap : 12px ;
432451 justify-content : center;
433- flex-wrap : wrap;
452+ flex-wrap : nowrap;
453+ overflow-x : auto;
454+ padding-bottom : 6px ;
434455}
435456
436457.card-tile {
437- width : 110px ;
438- height : 150px ;
458+ width : clamp ( 90 px , 8.8 vw , 110px ) ;
459+ height : clamp ( 120 px , 12.5 vh , 150px ) ;
439460 border-radius : 16px ;
440461 background : # f8f1e6 ;
441462 color : # 22160f ;
@@ -740,6 +761,11 @@ button:disabled {
740761@media (max-width : 980px ) {
741762 .table {
742763 grid-template-columns : 1fr ;
764+ grid-template-rows : auto minmax (0 , 1fr ) auto;
765+ }
766+
767+ .table-surface {
768+ height : 100% ;
743769 }
744770
745771 .rail .left ,
@@ -754,17 +780,183 @@ button:disabled {
754780}
755781
756782@media (max-width : 720px ) {
783+ .app {
784+ --table-fr : 0.5fr ;
785+ --hand-fr : 0.5fr ;
786+ }
787+
757788 .top-bar {
758- flex-direction : column;
759- align-items : flex-start;
789+ padding : 10px 14px ;
790+ gap : 8px ;
791+ flex-wrap : wrap;
792+ justify-content : flex-start;
793+ }
794+
795+ .brand-mark {
796+ font-size : 22px ;
797+ }
798+
799+ .brand-sub {
800+ font-size : 10px ;
801+ letter-spacing : 1.4px ;
802+ display : none;
803+ }
804+
805+ .scoreboard {
806+ flex-wrap : nowrap;
807+ gap : 6px ;
808+ }
809+
810+ .score-chip {
811+ padding : 6px 10px ;
812+ }
813+
814+ .chip-label {
815+ font-size : 9px ;
816+ letter-spacing : 1.2px ;
817+ }
818+
819+ .chip-score {
820+ font-size : 12px ;
821+ }
822+
823+ .controls {
824+ flex-wrap : nowrap;
825+ justify-content : flex-start;
826+ gap : 8px ;
827+ overflow-x : auto;
828+ padding-bottom : 4px ;
829+ }
830+
831+ .ai-select {
832+ padding : 4px 8px ;
833+ font-size : 10px ;
834+ flex : 0 0 auto;
835+ }
836+
837+ .ai-select select {
838+ padding : 4px 10px ;
839+ font-size : 10px ;
840+ }
841+
842+ button {
843+ padding : 8px 12px ;
844+ font-size : 11px ;
845+ letter-spacing : 1.2px ;
846+ }
847+
848+ .table {
849+ gap : 10px ;
850+ padding : 10px 12px 12px ;
851+ }
852+
853+ .rail .left ,
854+ .rail .right {
855+ gap : 10px ;
856+ }
857+
858+ .stack-card {
859+ width : min (46vw , 160px );
860+ height : clamp (96px , 14vh , 120px );
861+ }
862+
863+ .table-surface {
864+ padding : 10px ;
865+ border-radius : 18px ;
866+ }
867+
868+ .zone {
869+ gap : 10px ;
870+ }
871+
872+ .zone-label {
873+ font-size : 10px ;
874+ letter-spacing : 1.4px ;
875+ }
876+
877+ .zone-chip {
878+ padding : 4px 10px ;
879+ font-size : 10px ;
880+ letter-spacing : 1px ;
881+ }
882+
883+ .card-row {
884+ flex-wrap : nowrap;
885+ overflow-x : auto;
886+ padding-bottom : 4px ;
887+ gap : 10px ;
888+ }
889+
890+ .center-zone {
891+ margin : 8px 0 ;
892+ padding : 8px ;
893+ }
894+
895+ .phase-pill {
896+ font-size : 11px ;
897+ }
898+
899+ .hint {
900+ font-size : 10px ;
901+ padding : 4px 8px ;
902+ }
903+
904+ .history-panel {
905+ padding : 10px 12px ;
906+ border-radius : 14px ;
907+ max-height : none;
908+ }
909+
910+ .history-panel ul {
911+ display : none;
912+ }
913+
914+ .hand-area {
915+ gap : 6px ;
916+ padding : 8px 12px ;
760917 }
761918
762919 .action-prompt {
763920 flex-direction : column;
764921 align-items : flex-start;
922+ padding : 8px 10px ;
923+ gap : 10px ;
924+ }
925+
926+ .action-buttons {
927+ width : 100% ;
928+ justify-content : space-between;
765929 }
766930
767931 .hand {
768932 justify-content : flex-start;
769933 }
934+
935+ .action-title {
936+ font-size : 14px ;
937+ }
938+
939+ .action-sub {
940+ font-size : 12px ;
941+ }
942+
943+ .action-choice-row ,
944+ .hand {
945+ gap : 8px ;
946+ padding-bottom : 4px ;
947+ }
948+
949+ .card-tile {
950+ width : 68px ;
951+ height : 96px ;
952+ }
953+
954+ .card-rank {
955+ font-size : 16px ;
956+ }
957+
958+ .card-tag {
959+ font-size : 9px ;
960+ letter-spacing : 1.2px ;
961+ }
770962}
0 commit comments